' Gambas class file PRIVATE hUpdateInfo AS File ' handler to read update-watch-info file PUBLIC SUB Form_Open() DIM sSummary AS String DIM sLine AS String ' position window ME.Center() ' adjust button size according to it's font size btnHelp.Width = btnHelp.Font.Width(btnHelp.Text) + 36 btnClose.Width = btnClose.Font.Width(btnClose.Text) + 36 hbxBottom.Height = btnClose.Font.Height(btnClose.Text) + 18 IF Stat(FMain.sPathInfo).Size > 0 THEN ' read update-watch-info file to create list of updates hUpdateInfo = OPEN FMain.sPathInfo FOR READ WHILE NOT Eof(hUpdateInfo) LINE INPUT #hUpdateInfo, sLine SELECT CASE Split(sLine, ":")[0] CASE "new" SHELL "apt-cache show " & Split(sLine, ":")[1] & " | grep Summary:" TO sSummary ' remove unnecessary text & \n from string sSummary = Split(sSummary, ":")[1] sSummary = Split(sSummary, "\n")[0] lvwPackage.Add(Split(sLine, ":")[1], Split(sLine, ":")[1] & "\n " & TryDConv$(sSummary), Picture["new.png"]) CASE "upgrade" EXEC ["rpm", "-q", "--queryformat", "%{SUMMARY}", Split(sLine, ":")[1]] TO sSummary lvwPackage.Add(Split(sLine, ":")[1], Split(sLine, ":")[1] & "\n " & TryDConv$(sSummary), Picture["up.png"]) CASE "remove" EXEC ["rpm", "-q", "--queryformat", "%{SUMMARY}", Split(sLine, ":")[1]] TO sSummary lvwPackage.Add(Split(sLine, ":")[1], Split(sLine, ":")[1] & "\n " & TryDConv$(sSummary), Picture["remove.png"]) CASE "hold" EXEC ["rpm", "-q", "--queryformat", "%{SUMMARY}", Split(sLine, ":")[1]] TO sSummary lvwPackage.Add(Split(sLine, ":")[1], Split(sLine, ":")[1] & "\n " & TryDConv$(sSummary), Picture["hold.png"]) CASE "duplicate" EXEC ["rpm", "-q", "--queryformat", "%{SUMMARY}", Split(Split(sLine, ":")[1], "#")[0]] TO sSummary lvwPackage.Add(Split(sLine, ":")[1], Split(sLine, ":")[1] & "\n " & TryDConv$(sSummary), Picture["duplicate.png"]) END SELECT WEND ' workaround to set focus on close button btnClose.SetFocus ELSE ENDIF END PUBLIC SUB btnClose_Click() ME.Close() END PUBLIC SUB btnHelp_Click() FMain.hMenuHelp_Click() END PRIVATE FUNCTION TryDConv$(sOrig AS String) AS String ' If charset is not UTF-8, then convert it to UTF-8 TRY Conv$(sOrig, "EUC-JP", "UTF-8") IF ERROR THEN RETURN sOrig ELSE RETURN Conv$(sOrig, "EUC-JP", "UTF-8") ENDIF END