From e7972d0fdf70530a0d0e5e68592ee4558c3939c5 Mon Sep 17 00:00:00 2001 From: astrgl Date: Sun, 28 May 2023 23:51:39 +0200 Subject: [PATCH] Versione 3.6.8 --- .hidden/CHANGELOG | 5 + .icon.png | Bin 0 -> 17708 bytes .lang/fr.mo | Bin 0 -> 303 bytes .lang/fr.po | 19 + .lang/ru.mo | Bin 0 -> 781 bytes .lang/ru.po | 46 + .project | 21 + .src/FABOUT.class | 28 + .src/FABOUT.form | 25 + .src/FCONFIG.class | 134 ++ .src/FCONFIG.form | 106 + .src/FERROR.class | 96 + .src/FERROR.form | 27 + .src/FEXCLUDELIST.class | 138 ++ .src/FEXCLUDELIST.form | 35 + .src/FEXTRA.class | 321 +++ .src/FEXTRA.form | 114 + .src/FINSTALL.class | 85 + .src/FINSTALL.form | 26 + .src/FLOADLISTE.class | 147 ++ .src/FLOADLISTE.form | 26 + .src/FMYREPO.class | 439 ++++ .src/FMYREPO.form | 113 + .src/FOK.class | 85 + .src/FOK.form | 11 + .src/FPROGRESSWAIT.class | 56 + .src/FPROGRESSWAIT.form | 23 + .src/FPW.class | 189 ++ .src/FPW.form | 28 + .src/FRESETSUSPEND.class | 108 + .src/FRESETSUSPEND.form | 16 + .src/FRUN.class | 85 + .src/FRUN.form | 24 + .src/FSELECTION.class | 48 + .src/FSELECTION.form | 20 + .src/FSINO.class | 118 + .src/FSINO.form | 14 + .src/FSINOSECURE.class | 185 ++ .src/FSINOSECURE.form | 22 + .src/FTEMPPKGLIST.class | 203 ++ .src/FTEMPPKGLIST.form | 29 + .src/FUPDATERESUME.class | 106 + .src/FUPDATERESUME.form | 24 + .src/Fmain.class | 3754 +++++++++++++++++++++++++++++++ .src/Fmain.form | 355 +++ FILE-EXTRA/dnfdrake-ABOUT-br_BR | 18 + FILE-EXTRA/dnfdrake-ABOUT-ca_ES | 19 + FILE-EXTRA/dnfdrake-ABOUT-de_DE | 18 + FILE-EXTRA/dnfdrake-ABOUT-en_GB | 18 + FILE-EXTRA/dnfdrake-ABOUT-en_US | 18 + FILE-EXTRA/dnfdrake-ABOUT-es_ES | 18 + FILE-EXTRA/dnfdrake-ABOUT-fr_FR | 19 + FILE-EXTRA/dnfdrake-ABOUT-gb_GB | 18 + FILE-EXTRA/dnfdrake-ABOUT-it_IT | 18 + FILE-EXTRA/dnfdrake-ABOUT-pl_PL | 19 + FILE-EXTRA/dnfdrake-ABOUT-ru_RU | 18 + FILE-EXTRA/dnfdrake-BTN-br_BR | 26 + FILE-EXTRA/dnfdrake-BTN-ca_ES | 26 + FILE-EXTRA/dnfdrake-BTN-de_DE | 26 + FILE-EXTRA/dnfdrake-BTN-en_GB | 26 + FILE-EXTRA/dnfdrake-BTN-en_US | 26 + FILE-EXTRA/dnfdrake-BTN-es_ES | 26 + FILE-EXTRA/dnfdrake-BTN-fr_FR | 26 + FILE-EXTRA/dnfdrake-BTN-gb_GB | 26 + FILE-EXTRA/dnfdrake-BTN-it_IT | 26 + FILE-EXTRA/dnfdrake-BTN-pl_PL | 26 + FILE-EXTRA/dnfdrake-BTN-ru_RU | 26 + FILE-EXTRA/dnfdrake-CMBI-br_BR | 6 + FILE-EXTRA/dnfdrake-CMBI-ca_ES | 6 + FILE-EXTRA/dnfdrake-CMBI-de_DE | 6 + FILE-EXTRA/dnfdrake-CMBI-en_GB | 6 + FILE-EXTRA/dnfdrake-CMBI-en_US | 6 + FILE-EXTRA/dnfdrake-CMBI-es_ES | 6 + FILE-EXTRA/dnfdrake-CMBI-fr_FR | 6 + FILE-EXTRA/dnfdrake-CMBI-gb_GB | 6 + FILE-EXTRA/dnfdrake-CMBI-it_IT | 6 + FILE-EXTRA/dnfdrake-CMBI-pl_PL | 6 + FILE-EXTRA/dnfdrake-CMBI-ru_RU | 6 + FILE-EXTRA/dnfdrake-CMBT-br_BR | 4 + FILE-EXTRA/dnfdrake-CMBT-ca_ES | 4 + FILE-EXTRA/dnfdrake-CMBT-de_DE | 4 + FILE-EXTRA/dnfdrake-CMBT-en_GB | 4 + FILE-EXTRA/dnfdrake-CMBT-en_US | 4 + FILE-EXTRA/dnfdrake-CMBT-es_ES | 4 + FILE-EXTRA/dnfdrake-CMBT-fr_FR | 4 + FILE-EXTRA/dnfdrake-CMBT-gb_GB | 4 + FILE-EXTRA/dnfdrake-CMBT-it_IT | 4 + FILE-EXTRA/dnfdrake-CMBT-pl_PL | 4 + FILE-EXTRA/dnfdrake-CMBT-ru_RU | 4 + FILE-EXTRA/dnfdrake-COMMAND | 10 + FILE-EXTRA/dnfdrake-KEY-br_BR | 8 + FILE-EXTRA/dnfdrake-KEY-ca_ES | 8 + FILE-EXTRA/dnfdrake-KEY-de_DE | 8 + FILE-EXTRA/dnfdrake-KEY-en_GB | 8 + FILE-EXTRA/dnfdrake-KEY-en_US | 8 + FILE-EXTRA/dnfdrake-KEY-es_ES | 8 + FILE-EXTRA/dnfdrake-KEY-fr_FR | 8 + FILE-EXTRA/dnfdrake-KEY-gb_GB | 8 + FILE-EXTRA/dnfdrake-KEY-it_IT | 8 + FILE-EXTRA/dnfdrake-KEY-pl_PL | 8 + FILE-EXTRA/dnfdrake-KEY-ru_RU | 8 + FILE-EXTRA/dnfdrake-TTP-br_BR | 86 + FILE-EXTRA/dnfdrake-TTP-ca_ES | 86 + FILE-EXTRA/dnfdrake-TTP-de_DE | 86 + FILE-EXTRA/dnfdrake-TTP-en_GB | 86 + FILE-EXTRA/dnfdrake-TTP-en_US | 86 + FILE-EXTRA/dnfdrake-TTP-es_ES | 86 + FILE-EXTRA/dnfdrake-TTP-fr_FR | 86 + FILE-EXTRA/dnfdrake-TTP-gb_GB | 86 + FILE-EXTRA/dnfdrake-TTP-it_IT | 86 + FILE-EXTRA/dnfdrake-TTP-pl_PL | 86 + FILE-EXTRA/dnfdrake-TTP-ru_RU | 86 + FILE-EXTRA/dnfdrake.desktop | 147 ++ FILE-EXTRA/license | 674 ++++++ ICONS-EXTRA/install.png | Bin 0 -> 857 bytes ICONS-EXTRA/installed.png | Bin 0 -> 845 bytes ICONS-EXTRA/update.png | Bin 0 -> 861 bytes dnfdrake.png | Bin 0 -> 4176 bytes dnfdrake.svg | 283 +++ 119 files changed, 10199 insertions(+) create mode 100644 .hidden/CHANGELOG create mode 100644 .icon.png create mode 100644 .lang/fr.mo create mode 100644 .lang/fr.po create mode 100644 .lang/ru.mo create mode 100644 .lang/ru.po create mode 100644 .project create mode 100644 .src/FABOUT.class create mode 100644 .src/FABOUT.form create mode 100644 .src/FCONFIG.class create mode 100644 .src/FCONFIG.form create mode 100644 .src/FERROR.class create mode 100644 .src/FERROR.form create mode 100644 .src/FEXCLUDELIST.class create mode 100644 .src/FEXCLUDELIST.form create mode 100644 .src/FEXTRA.class create mode 100644 .src/FEXTRA.form create mode 100644 .src/FINSTALL.class create mode 100644 .src/FINSTALL.form create mode 100644 .src/FLOADLISTE.class create mode 100644 .src/FLOADLISTE.form create mode 100644 .src/FMYREPO.class create mode 100644 .src/FMYREPO.form create mode 100644 .src/FOK.class create mode 100644 .src/FOK.form create mode 100644 .src/FPROGRESSWAIT.class create mode 100644 .src/FPROGRESSWAIT.form create mode 100644 .src/FPW.class create mode 100644 .src/FPW.form create mode 100644 .src/FRESETSUSPEND.class create mode 100644 .src/FRESETSUSPEND.form create mode 100644 .src/FRUN.class create mode 100644 .src/FRUN.form create mode 100644 .src/FSELECTION.class create mode 100644 .src/FSELECTION.form create mode 100644 .src/FSINO.class create mode 100644 .src/FSINO.form create mode 100644 .src/FSINOSECURE.class create mode 100644 .src/FSINOSECURE.form create mode 100644 .src/FTEMPPKGLIST.class create mode 100644 .src/FTEMPPKGLIST.form create mode 100644 .src/FUPDATERESUME.class create mode 100644 .src/FUPDATERESUME.form create mode 100644 .src/Fmain.class create mode 100644 .src/Fmain.form create mode 100644 FILE-EXTRA/dnfdrake-ABOUT-br_BR create mode 100644 FILE-EXTRA/dnfdrake-ABOUT-ca_ES create mode 100644 FILE-EXTRA/dnfdrake-ABOUT-de_DE create mode 100644 FILE-EXTRA/dnfdrake-ABOUT-en_GB create mode 100644 FILE-EXTRA/dnfdrake-ABOUT-en_US create mode 100644 FILE-EXTRA/dnfdrake-ABOUT-es_ES create mode 100644 FILE-EXTRA/dnfdrake-ABOUT-fr_FR create mode 100644 FILE-EXTRA/dnfdrake-ABOUT-gb_GB create mode 100644 FILE-EXTRA/dnfdrake-ABOUT-it_IT create mode 100644 FILE-EXTRA/dnfdrake-ABOUT-pl_PL create mode 100644 FILE-EXTRA/dnfdrake-ABOUT-ru_RU create mode 100644 FILE-EXTRA/dnfdrake-BTN-br_BR create mode 100644 FILE-EXTRA/dnfdrake-BTN-ca_ES create mode 100644 FILE-EXTRA/dnfdrake-BTN-de_DE create mode 100644 FILE-EXTRA/dnfdrake-BTN-en_GB create mode 100644 FILE-EXTRA/dnfdrake-BTN-en_US create mode 100644 FILE-EXTRA/dnfdrake-BTN-es_ES create mode 100644 FILE-EXTRA/dnfdrake-BTN-fr_FR create mode 100644 FILE-EXTRA/dnfdrake-BTN-gb_GB create mode 100644 FILE-EXTRA/dnfdrake-BTN-it_IT create mode 100644 FILE-EXTRA/dnfdrake-BTN-pl_PL create mode 100644 FILE-EXTRA/dnfdrake-BTN-ru_RU create mode 100644 FILE-EXTRA/dnfdrake-CMBI-br_BR create mode 100644 FILE-EXTRA/dnfdrake-CMBI-ca_ES create mode 100644 FILE-EXTRA/dnfdrake-CMBI-de_DE create mode 100644 FILE-EXTRA/dnfdrake-CMBI-en_GB create mode 100644 FILE-EXTRA/dnfdrake-CMBI-en_US create mode 100644 FILE-EXTRA/dnfdrake-CMBI-es_ES create mode 100644 FILE-EXTRA/dnfdrake-CMBI-fr_FR create mode 100644 FILE-EXTRA/dnfdrake-CMBI-gb_GB create mode 100644 FILE-EXTRA/dnfdrake-CMBI-it_IT create mode 100644 FILE-EXTRA/dnfdrake-CMBI-pl_PL create mode 100644 FILE-EXTRA/dnfdrake-CMBI-ru_RU create mode 100644 FILE-EXTRA/dnfdrake-CMBT-br_BR create mode 100644 FILE-EXTRA/dnfdrake-CMBT-ca_ES create mode 100644 FILE-EXTRA/dnfdrake-CMBT-de_DE create mode 100644 FILE-EXTRA/dnfdrake-CMBT-en_GB create mode 100644 FILE-EXTRA/dnfdrake-CMBT-en_US create mode 100644 FILE-EXTRA/dnfdrake-CMBT-es_ES create mode 100644 FILE-EXTRA/dnfdrake-CMBT-fr_FR create mode 100644 FILE-EXTRA/dnfdrake-CMBT-gb_GB create mode 100644 FILE-EXTRA/dnfdrake-CMBT-it_IT create mode 100644 FILE-EXTRA/dnfdrake-CMBT-pl_PL create mode 100644 FILE-EXTRA/dnfdrake-CMBT-ru_RU create mode 100644 FILE-EXTRA/dnfdrake-COMMAND create mode 100644 FILE-EXTRA/dnfdrake-KEY-br_BR create mode 100644 FILE-EXTRA/dnfdrake-KEY-ca_ES create mode 100644 FILE-EXTRA/dnfdrake-KEY-de_DE create mode 100644 FILE-EXTRA/dnfdrake-KEY-en_GB create mode 100644 FILE-EXTRA/dnfdrake-KEY-en_US create mode 100644 FILE-EXTRA/dnfdrake-KEY-es_ES create mode 100644 FILE-EXTRA/dnfdrake-KEY-fr_FR create mode 100644 FILE-EXTRA/dnfdrake-KEY-gb_GB create mode 100644 FILE-EXTRA/dnfdrake-KEY-it_IT create mode 100644 FILE-EXTRA/dnfdrake-KEY-pl_PL create mode 100644 FILE-EXTRA/dnfdrake-KEY-ru_RU create mode 100644 FILE-EXTRA/dnfdrake-TTP-br_BR create mode 100644 FILE-EXTRA/dnfdrake-TTP-ca_ES create mode 100644 FILE-EXTRA/dnfdrake-TTP-de_DE create mode 100644 FILE-EXTRA/dnfdrake-TTP-en_GB create mode 100644 FILE-EXTRA/dnfdrake-TTP-en_US create mode 100644 FILE-EXTRA/dnfdrake-TTP-es_ES create mode 100644 FILE-EXTRA/dnfdrake-TTP-fr_FR create mode 100644 FILE-EXTRA/dnfdrake-TTP-gb_GB create mode 100644 FILE-EXTRA/dnfdrake-TTP-it_IT create mode 100644 FILE-EXTRA/dnfdrake-TTP-pl_PL create mode 100644 FILE-EXTRA/dnfdrake-TTP-ru_RU create mode 100644 FILE-EXTRA/dnfdrake.desktop create mode 100644 FILE-EXTRA/license create mode 100644 ICONS-EXTRA/install.png create mode 100644 ICONS-EXTRA/installed.png create mode 100644 ICONS-EXTRA/update.png create mode 100644 dnfdrake.png create mode 100644 dnfdrake.svg diff --git a/.hidden/CHANGELOG b/.hidden/CHANGELOG new file mode 100644 index 0000000..74e47cf --- /dev/null +++ b/.hidden/CHANGELOG @@ -0,0 +1,5 @@ +* Mon Mar 15 2021 Astragalo 0.0.76 + +* Sat Mar 13 2021 Astragalo 0.0.72 +- Versione iniziale + diff --git a/.icon.png b/.icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d7b2c20ed81f2a463f86805f8cc06a9150026fee GIT binary patch literal 17708 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 literal 0 HcmV?d00001 diff --git a/.lang/fr.po b/.lang/fr.po new file mode 100644 index 0000000..1260fac --- /dev/null +++ b/.lang/fr.po @@ -0,0 +1,19 @@ +# /home/benoit/gambas/examples/Console/FConsole.class +# Generated by Gambas compiler +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2002-11-01 04:27+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: FConsole.class:122 +msgid "Console" +msgstr "" diff --git a/.lang/ru.mo b/.lang/ru.mo new file mode 100644 index 0000000000000000000000000000000000000000..e5bbe050ea8b57cdfd172a801cbc524175d0b56f GIT binary patch literal 781 zcmYjPJ&)5s5H%1u$w(m4La`K_E`p8i;Df}8bA((DMI>Al!W9&emSoRom*1i zj-Hl=h89W+q!V8f5)u-XQ_@iLGnmcCg^`}$%+99-6ZjG|erX2$hWsk^F>F(jedQNXYqypDjpASM7c&P9!RAxI$1c~q- z7enbG7SBuRyCt+p{VjIGv3=h`o0~|d_I2NJ&4!*EvwX^Jl!w$-W!R>6xG}1TexAg1mB|JaRUK#1z W*>QT3en~&hj#2t)-Ahl_ztBHL_t6Ca literal 0 HcmV?d00001 diff --git a/.lang/ru.po b/.lang/ru.po new file mode 100644 index 0000000..7d03070 --- /dev/null +++ b/.lang/ru.po @@ -0,0 +1,46 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Дмитрий Ошкало , 2019 +# Kашицин Роман , 2019 +# Олег o1hk , 2019 +# AlexL , 2019 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-23 07:08+0300\n" +"PO-Revision-Date: 2019-05-09 00:48+0000\n" +"Last-Translator: AlexL , 2019\n" +"Language-Team: Russian (https://www.transifex.com/rus-open-source/teams/44267/ru/)\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" + +#: app/examples/Misc/Console/.project:18 +msgid "Console example" +msgstr "Пример консоли" + +#: app/examples/Misc/Console/.src/FConsole.form:5 +msgid "Console" +msgstr "Консоль" + +#: app/examples/Misc/Console/.src/FConsole.form:18 +msgid "^C" +msgstr "^C" + +#: app/examples/Misc/Console/.src/FConsole.form:23 +msgid "^D" +msgstr "^D" + +#: app/examples/Misc/Console/.src/FConsole.form:28 +msgid "^Z" +msgstr "^Z" + diff --git a/.project b/.project new file mode 100644 index 0000000..0b948d0 --- /dev/null +++ b/.project @@ -0,0 +1,21 @@ +# Gambas Project File 3.0 +Title=DnfDrake +Startup=Fmain +Icon=dnfdrake.svg +Version=3.6.8 +Component=gb.image +Component=gb.gui +Component=gb.form +Description="DnfDrake è un frontend a Dnf.\n\nTutto è iniziato partendo dalla base del programma di esempio Console per Gambas di Princeton" +Authors="Autore: Mauro Carbini aka Astragalo\nMail: mauro.carbini@gmail.com" +TabSize=2 +Translate=1 +Language=it +ControlPublic=1 +Maintainer=Astragalo +Vendor=Astragalo +Address=mauro.carbini@gmail.com +License=General Public Licence +PackageName=dnfdrake_1-4-0-0.0.76 +CreateEachDirectory=1 +Packager=1 diff --git a/.src/FABOUT.class b/.src/FABOUT.class new file mode 100644 index 0000000..a7dd180 --- /dev/null +++ b/.src/FABOUT.class @@ -0,0 +1,28 @@ +' Gambas class file + +Public Sub Form_Open() + +BTNCLOSE.Text = Fmain.Btnclose.Text +TextArea1.Text = File.Load("/usr/share/dnfdrake/dnfdrake-ABOUT-" & Fmain.$LANG) +Fmain.Enabled = False + +End + + +Public Sub BTNCLOSE_Click() + BTNCLOSE.Enabled = False + Me.Close + +End + +Public Sub Label1_MouseDown() +End + +Public Sub TextArea1_KeyPress() +End + +Public Sub Form_Close() + + Fmain.Enabled = True + +End diff --git a/.src/FABOUT.form b/.src/FABOUT.form new file mode 100644 index 0000000..a91d3f5 --- /dev/null +++ b/.src/FABOUT.form @@ -0,0 +1,25 @@ +# Gambas Form File 3.0 + +{ Form Form + MoveScaled(0,0,64,64) + Icon = Picture["dnfdrake.svg"] + Resizable = False + { TextArea1 TextArea + MoveScaled(6,8,52,49) + Enabled = False + Foreground = Color.TextForeground + Alignment = Align.Center + } + { BTNCLOSE Button + MoveScaled(24,58,16,4) + } + { Panel1 Panel + MoveScaled(6.4286,2,51,5) + { Label1 Label + MoveScaled(1,1,50,4) + Font = Font["+7"] + Alignment = Align.Center + Text = ("DNFDRAKE 3.6.8") + } + } +} diff --git a/.src/FCONFIG.class b/.src/FCONFIG.class new file mode 100644 index 0000000..27eefed --- /dev/null +++ b/.src/FCONFIG.class @@ -0,0 +1,134 @@ +' Gambas class file + +Public Sub Form_Open() + If Fmain.$SECUREMODE = "SECURE" Then + Fmain.Enabled = False + Endif + TXTINSTALLCMD.Text = Fmain.$INSTALL + TXTUNINSTALLCMD.Text = Fmain.$UNINSTALL + TXTUPDATECMD.Text = Fmain.$UPDATE + 'TXTUPDATECMD.Text = Fmain.$UPDATE + TXTUPDATEPKGCMD.Text = Fmain.$PKGUPDATE + TXTDOWNGRADECMD.Text = Fmain.$DOWNGRADE + TXTREINSTALLCMD.Text = Fmain.$REINSTALL + TXTCUSTOMCMD.Text = Fmain.$CUSTOMCMD + + If Fmain.$COLORTEXT = "color" Then + CHKCOLORTEXT.Value = True + Else + CHKCOLORTEXT.Value = False + Endif + + If Exist(User.Home &/ ".config/dnfdrake/distrosync") Then + TXTUPDATE.Text = "DistroSync command" + TXTUPDATECMD.Text = "sudo dnf clean all; dnf clean all; dnf repolist; sudo dnf --refresh --allowerasing distro-sync" + TXTUPDATECMD.Enabled = False + Else + TXTUPDATECMD.Enabled = True + Endif + + If Fmain.$LOG = "LOG" Then + CHKLOG.Value = True + Else + CHKLOG.Value = False + Endif + + If Fmain.$SECUREMODE = "SECURE" Then + CHKSECUREMODE.Value = True + Else + CHKSECUREMODE.Value = False + Endif + +End + +Public Sub BTNDEFAULT_Click() + BTNDEFAULT.Enabled = False + Print #Fmain.$hProcess, "rm -f " & User.Home & "/.config/dnfdrake/dnfdrake-COMMAND" & gb.NewLine; + Message.Info("For Apply The Change Restart Dnfdrake", "OK") + Me.Close +End + +Public Sub BTNCLOSE_Click() + BTNCLOSE.Enabled = False + Me.Close +End + +Public Sub BTNOK_Click() + BTNOK.Enabled = False + If Not Exist(User.Home &/ ".config/dnfdrake/dnfdrake-COMMAND") Then + File.Save(User.Home &/ "/.config/dnfdrake/dnfdrake-COMMAND", "") + Endif + Dim fl As File + fl = Open User.Home &/ "/.config/dnfdrake/dnfdrake-COMMAND" For Create + Print #fl, Replace(TXTINSTALLCMD.Text, " ", "_") + Print #fl, Replace(TXTUNINSTALLCMD.Text, " ", "_") +'SERVE PER EVITARE DI SALVARE IL COMANDO DI DISTROSYNC********************* + If TXTUPDATECMD.Enabled = True Then + Print #fl, Replace(TXTUPDATECMD.Text, " ", "_") + Else + Print #fl, Replace(Fmain.$UPDATE, " ", "_") + Endif +'************************************************************************** + Print #fl, Replace(TXTUPDATEPKGCMD.Text, " ", "_") + Print #fl, Replace(TXTDOWNGRADECMD.Text, " ", "_") + Print #fl, Replace(TXTCUSTOMCMD.Text, " ", "_") + If CHKCOLORTEXT.Value = True Then + Print #fl, "color" + Else + Print #fl, "nero" + Endif + Print #fl, Replace(TXTREINSTALLCMD.Text, " ", "_") + If CHKLOG.Value = True Then + Print #fl, "LOG" + Else + Print #fl, "NOLOG" + Endif + If CHKSECUREMODE.Value = True Then + Print #fl, "SECURE" + Else + Print #fl, "NOSECURE" + Endif + fl.Close + + Message.Info("Restart DnfDrake for the changes to be applied", "OK") + Me.Close +End + +Public Sub TXTUPDATEPKGCMD_KeyPress() +End + +Public Sub CHKCOLORTEXT_Click() +End + +Public Sub TXTREINSTALLCMD_KeyPress() +End + +Public Sub TXTINSTALLCMD_KeyPress() +End + +Public Sub Form_Close() + + Fmain.Enabled = True + +End + +Public Sub CHKSECUREMODE_Click() +If CHKSECUREMODE.Value = True Then + If CHKLOG.Value = False Then + Message.Info("Secure Mode work only whit Save Log active, DnfDrake have set it!", "Ok") + CHKLOG.Value = True + FCONFIG.Show + Endif +Endif +End + +Public Sub CHKLOG_Click() +If CHKLOG.Value = False Then + If CHKSECUREMODE.Value = True Then + Message.Info("Secure Mode work only whit Save Log active, DnfDrake have disable it!", "Ok") + CHKSECUREMODE.Value = False + FCONFIG.Show + Endif +Endif + +End diff --git a/.src/FCONFIG.form b/.src/FCONFIG.form new file mode 100644 index 0000000..dfa04c6 --- /dev/null +++ b/.src/FCONFIG.form @@ -0,0 +1,106 @@ +# Gambas Form File 3.0 + +{ Form Form + MoveScaled(0,0,83,82) + Icon = Picture["dnfdrake.svg"] + { Label3 Label + MoveScaled(46,10,34,4) + Border = Border.Plain + } + { Label1 Label + MoveScaled(3,69,34,4) + Border = Border.Plain + } + { TXTUPDATECMD TextBox + MoveScaled(3,6,77.1429,4) + } + { TXTINSTALL Label + MoveScaled(3,25,77,3) + Alignment = Align.Center + Border = Border.Plain + Text = ("Install command") + } + { TXTINSTALLCMD TextBox + MoveScaled(3,28,77.1429,4) + } + { TXTUNINSTALL Label + MoveScaled(3,34,77,3) + Alignment = Align.Center + Border = Border.Plain + Text = ("Uninstall command") + } + { TXTUNINSTALLCMD TextBox + MoveScaled(3,37,77.1429,4) + } + { BTNCLOSE Button + MoveScaled(5,76,16,4) + Text = ("Close") + } + { BTNOK Button + MoveScaled(61,76,16,4) + Text = ("Apply") + } + { BTNDEFAULT Button + MoveScaled(33,76,16,4) + Text = ("Reset Default") + } + { TXTUPDATEPKG Label + MoveScaled(3,16,77,3) + Alignment = Align.Center + Border = Border.Plain + Text = ("Update PKG command") + } + { TXTUPDATEPKGCMD TextBox + MoveScaled(3,19,77.1429,4) + } + { TXTUPDATE Label + MoveScaled(3,3,77,3) + Alignment = Align.Center + Border = Border.Plain + Text = ("Update SYS command") + } + { TXTDOWNGRADE Label + MoveScaled(3,43,77,3) + Alignment = Align.Center + Border = Border.Plain + Text = ("Downgrade command") + } + { TXTDOWNGRADECMD TextBox + MoveScaled(3,46,77.1429,4) + } + { TXTCUSTOM Label + MoveScaled(3,61,77,3) + Alignment = Align.Center + Border = Border.Plain + Text = ("Custom command") + } + { TXTCUSTOMCMD TextBox + MoveScaled(3,64,77.1429,4) + } + { CHKCOLORTEXT CheckBox + MoveScaled(3,69,33,4) + Text = (" Color text active") + } + { TXTREINSTALL Label + MoveScaled(3,52,77,3) + Alignment = Align.Center + Border = Border.Plain + Text = ("Reinstall command") + } + { TXTREINSTALLCMD TextBox + MoveScaled(3,55,77.1429,4) + } + { Label2 Label + MoveScaled(3,10,34,4) + Border = Border.Plain + } + { CHKLOG CheckBox + MoveScaled(3,10,33,4) + Text = ("Save Log") + Value = CheckBox.True + } + { CHKSECUREMODE CheckBox + MoveScaled(46,10,34,4) + Text = ("Secure Mode") + } +} diff --git a/.src/FERROR.class b/.src/FERROR.class new file mode 100644 index 0000000..faac8db --- /dev/null +++ b/.src/FERROR.class @@ -0,0 +1,96 @@ +' Gambas class file + +$RETRY As String +Public $SECURE As Integer + +Public Sub Form_Open() + + BTNCLOSE.Text = Fmain.Btnclose.Text + 'BTNDNFCLEAN.Text = Fmain.BTNDNFCLEAN.Text + FRUN.Close + 'Wait 0.5 + Fmain.Enabled = False +'RIDIMENSIONAMENTO FINESTRA************************ +If Fmain.Width > 1366 Then + FERROR.Width = FERROR.Width * (Fmain.$RISOLUZIONEX / 1366) + FERROR.Height = FERROR.Height * (Fmain.$RISOLUZIONEY / 786) + TextBox1.Width = TextBox1.Width * (Fmain.$RISOLUZIONEX / 1366) + TextArea1.Width = TextArea1.Width * (Fmain.$RISOLUZIONEX / 1366) + TextArea1.Height = TextArea1.Height * (Fmain.$RISOLUZIONEY / 786) + BTNDNFCLEAN.Y = BTNDNFCLEAN.Y + (FERROR.Height - 518) + BTNRETRY.X = BTNRETRY.X + (FERROR.Width - 805) / 2 + BTNRETRY.Y = BTNRETRY.Y + (FERROR.Height - 518) + BTNCLOSE.X = BTNCLOSE.X + (FERROR.Width - 805) + BTNCLOSE.Y = BTNCLOSE.Y + (FERROR.Height - 518) +Endif +'*************************************************** +End +Public Sub Form_Close() + If $SECURE = 1 Then + Else + Btnclose_Click + Endif + Fmain.$FRUNMAIN = 0 +End + +Private Sub FRUNSHOW() + + 'GESTIONE FINESTRA FRUN*************************** +If Fmain.$SECUREMODE = "SECURE" Then + If Fmain.$FRUNPW = 1 Then + FRUN.Show + Endif + Fmain.$FRUNMAIN = 1 +Endif +'************************************************* +End +Public Sub BTNDNFCLEAN_Click() +BTNDNFCLEAN.Enabled = False +Fmain.txtpkg.Text = "" +Fmain.Btnclear_click +Fmain.Mouse = Mouse.Default +'Fmain.BTNDNFCLEAN_Click +Print #Fmain.$hProcess, "sudo dnf clean packages" & gb.NewLine; +Fmain.Enabled = True +$SECURE = 1 +Me.Close +End + +Public Sub BTNRETRY_Click() +Dim i As Integer + BTNRETRY.Enabled = False + $SECURE = 1 + For i = 0 To 9999 + $RETRY = $RETRY & TextArea1.Text[i] + If Right($RETRY, 4) = ".log" Then + i = 9999 + Endif + Next + Fmain.Btnclear_click + FRUNSHOW + If InStr($RETRY, " --refresh upgrade") > 0 Then + Print #Fmain.$hProcess, "dnf repolist; sudo dnf --refresh upgrade" & "| tee " & User.Home & "/.config/dnfdrake/log/" & Fmain.$DATATIME & "-dnfdrakelog-update.log " & User.Home & "/.config/dnfdrake/log/last.log" & gb.NewLine; + Else If InStr($RETRY, "distro-sync") > 0 + Print #Fmain.$hProcess, "dnf repolist; sudo dnf --refresh --allowerasing distro-sync | tee " & User.Home & "/.config/dnfdrake/log/" & Fmain.$DATATIME & "-dnfdrakelog-sync.log " & User.Home & "/.config/dnfdrake/log/last.log" & gb.NewLine; + Else + Print #Fmain.$hProcess, $RETRY + Endif + Me.Close + +End + +Public Sub BTNCLOSE_Click() + BTNCLOSE.Enabled = False + Fmain.Btnclear_click + Fmain.TimerUPLISTE.Enabled = True + Fmain.Mouse = Mouse.Default + Fmain.TMPLISTCLEAN + Fmain.Enabled = True + $SECURE = 1 + Me.Close + +End + +Public Sub TextArea1_KeyPress() + +End diff --git a/.src/FERROR.form b/.src/FERROR.form new file mode 100644 index 0000000..88c1e97 --- /dev/null +++ b/.src/FERROR.form @@ -0,0 +1,27 @@ +# Gambas Form File 3.0 + +{ Form Form + MoveScaled(0,0,115,74) + Icon = Picture["dnfdrake.svg"] + Resizable = False + { BTNDNFCLEAN Button + MoveScaled(2,68,16,4) + Text = ("Dnf Clean Pkg") + } + { BTNCLOSE Button + MoveScaled(97,68,16,4) + } + { TextArea1 TextArea + MoveScaled(1,6,113,61) + Font = Font["Monospace"] + } + { TextBox1 TextBox + MoveScaled(1,1,113,4) + Text = ("DnfDrake have detected an error. Details:") + Alignment = Align.Center + } + { BTNRETRY Button + MoveScaled(49,68,16,4) + Text = ("Retry") + } +} diff --git a/.src/FEXCLUDELIST.class b/.src/FEXCLUDELIST.class new file mode 100644 index 0000000..a109bc2 --- /dev/null +++ b/.src/FEXCLUDELIST.class @@ -0,0 +1,138 @@ +' Gambas class file + +Public $mod As Boolean +Public Sub Form_Open() + Dim s As String + Dim t As Stream + Dim p As Integer + Dim EXCL As String[] + Dim i As String + FTEMPPKGLIST.Text = Fmain.TXTPKGLISTNOME.Text + + 'TITOLI E TOOTIP******************************************************************* + Dim flTTP As File + Dim jTTP As Byte + Dim s$TTP As String + Dim ss$TTP As New String[] + + Fmain.Btnclear_click + $mod = False + flTTP = Open "/usr/share/dnfdrake/dnfdrake-TTP-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flTTP) + Input #flTTP, s$TTP + ss$TTP.Add(s$TTP) + Wend + Close #flTTP + For jTTP = 0 To ss$TTP.Max + + BTNREMOVE.Tooltip = Replace(ss$TTP[61], "_", " ") + BTNREFRESH.Tooltip = Replace(ss$TTP[62], "_", " ") + BTNSAVEAS.Tooltip = Replace(ss$TTP[63], "_", " ") + BTNCLOSE.Tooltip = Replace(ss$TTP[4], "_", " ") + LTITOLO.Text = Replace(ss$TTP[64], "_", " ") + Next + flTTP.Close + '********************************************************************************* + Me.Mouse = Mouse.Wait + t = Open "/etc/dnf/dnf.conf" + For Each s In t.Lines + If InStr(s, "exclude") Then + EXCL = Split(s, " ") + For Each i In EXCL + If i <> "exclude=" And If i <> "exclude" And If i <> "=" + p = p + LSTPKG.Count + LSTPKG.add(p, i) + Endif + Next + Endif + Next + If Fmain.$SECUREMODE = "SECURE" Then + Fmain.Enabled = False + Endif + Me.Mouse = Mouse.Default +End +Public Sub Form_Close() + Fmain.Enabled = True + Fmain.Btnclear_click +End + +Public Sub BTNCLOSE_Click() + If $mod = True Then + Fmain.TimerUPLISTE.Enabled = True + Endif + BTNCLOSE.Enabled = False + Me.Close +End + + +Public Sub BTNREMOVE_Click() + Dim a As String + Dim s As String + Me.Mouse = Mouse.Wait + $mod = True + If LSTPKG.Selection.Count = LSTPKG.Count Then + LSTPKG.UnSelectAll + LSTPKG.Clear + Print #Fmain.$hProcess, "sudo sed -i '/exclude/d' /etc/dnf/dnf.conf " & gb.NewLine; + Else + For Each a In LSTPKG.Selection + s = s & " " & LSTPKG[a].Text + LSTPKG[a].Delete + Next + Print #Fmain.$hProcess, "sudo " & "sed -i 's/" & s & "//g' " & " /etc/dnf/dnf.conf " & gb.NewLine; + Endif + Wait 0.1 + Fmain.Enabled = True + Fmain.Btnclear_click + Fmain.Enabled = False + Me.Mouse = Mouse.Default +End + +Public Sub BTNSAVEAS_Click() + Dim i As String + + Dialog.Path = Fmain.$pathdir 'IMPOSTA LA FINESTRA IN CUI SALVARE LA LISTA + Dialog.Filter = ["*.txt", "Text Files"] + If Dialog.SaveFile() Then Return + Fmain.$pathdir = Replace(Dialog.Path, " ", Chr$(92) & " ") ' serve agestire percorsi con gli spazi + 'Print #Fmain.$hProcess, "echo > " & Dialog.Path & gb.NewLine; + LSTPKG.SelectAll + For Each i In LSTPKG.Selection + Print #Fmain.$hProcess, "echo " & LSTPKG[i].Text & " >> " & Dialog.Path & gb.NewLine; + Next + + BTNREFRESH_Click + Wait 0.2 + Fmain.Enabled = True + Fmain.Btnclear_click + Fmain.Enabled = False +End + + +Public Sub LTITOLO_MouseDown() +End +Public Sub BTNREFRESH_Click() + + Dim s As String + Dim t As Stream + Dim p As Integer + Dim EXCL As String[] + Dim i As String + Me.Mouse = Mouse.Wait + LSTPKG.UnSelectAll + LSTPKG.Clear + t = Open "/etc/dnf/dnf.conf" + For Each s In t.Lines + If InStr(s, "exclude") Then + EXCL = Split(s, " ") + For Each i In EXCL + If i <> "exclude=" And If i <> "exclude" And If i <> "=" + p = p + LSTPKG.Count + LSTPKG.add(p, i) + Endif + Next + Endif + Next + Me.Mouse = Mouse.Default + +End diff --git a/.src/FEXCLUDELIST.form b/.src/FEXCLUDELIST.form new file mode 100644 index 0000000..d207c86 --- /dev/null +++ b/.src/FEXCLUDELIST.form @@ -0,0 +1,35 @@ +# Gambas Form File 3.0 + +{ Form Form + MoveScaled(0,0,83,92) + Icon = Picture["dnfdrake.svg"] + Resizable = False + { BTNCLOSE Button + MoveScaled(61,86,15.7143,4) + Picture = Picture["icon:/16/close"] + } + { BTNREMOVE Button + MoveScaled(6,86,15.7143,4) + Picture = Picture["icon:/16/remove"] + } + { BTNREFRESH Button + MoveScaled(24.2857,86,15.7143,4) + Picture = Picture["icon:/16/refresh"] + } + { BTNSAVEAS Button + MoveScaled(42.7143,86,15.7143,4) + Picture = Picture["icon:/16/save-as"] + } + { LSTPKG ListView + MoveScaled(3,5,77,79) + Font = Font["Monospace"] + Mode = Select.Multiple + ShowCheck = True + } + { LTITOLO Label + MoveScaled(3,1,77,3) + Font = Font["FreeMono,+2"] + Alignment = Align.Center + Border = Border.Plain + } +} diff --git a/.src/FEXTRA.class b/.src/FEXTRA.class new file mode 100644 index 0000000..40aacb3 --- /dev/null +++ b/.src/FEXTRA.class @@ -0,0 +1,321 @@ +' Gambas class file + +Public $SHOWDUPLICATE As String +Public $LOCK As String + +Public Sub Form_Open() + Dim flTTP As File + Dim jTTP As Byte + Dim s$TTP As String + Dim ss$TTP As New String[] + 'CONTROLLO DISTROSYNC + Dim flDSTSYNC As File + Dim jDSTSYNC As Byte + Dim s$DSTSYNC As String + Dim ss$DSTSYNC As New String[] + +'TITOLI E TOOTIP******************************************************************* + + Shell "ps aux | grep gbr3 | grep dnfdraketray | wc -l" Wait To $LOCK + + flTTP = Open "/usr/share/dnfdrake/dnfdrake-TTP-" & Fmain.$LANG For Read ' ...oppure "Input" + + + While Not Eof(flTTP) + Input #flTTP, s$TTP + ss$TTP.Add(s$TTP) + Wend + Close #flTTP + + For jTTP = 0 To ss$TTP.Max + + CHKOFFLINE.Tooltip = Replace(ss$TTP[45], "_", " ") + CHKDNFDRAKETRAY.Tooltip = Replace(ss$TTP[46], "_", " ") + $SHOWDUPLICATE = Replace(ss$TTP[47], "_", " ") + Next +' + flTTP.Close + '********************************************************************************* + + If Fmain.$SECUREMODE = "SECURE" Then + Fmain.Enabled = False + Endif + + BTNCLOSE.Text = FCONFIG.BTNOK.Text + BTNEXIT.Text = FCONFIG.BTNCLOSE.Text + + If Fmain.$OFFLINE = 1 Then + CHKOFFLINE.Value = True + Else + CHKOFFLINE.Value = False + Endif + If Fmain.$SEARCH = " --showduplicate" + CHKDUPLICATE.Value = True + Endif + ' If Fmain.BTNPKGUPDATE.Visible = True + ' CHKBTNPKGUPDATE.Value = True + ' Endif + ' If Fmain.BTNDOWNDGRADE.Visible = True + ' CHKBTNDOWNGRADE.Value = True + ' Endif + ' If Fmain.BTNREINSTALL.Visible = True + ' CHKBTNREINSTALL.Value = True + ' Endif + ' If Fmain.BTNVERSLOCK.Visible = True Then + ' CHKBTNVERSIONLOCK.Value = True + ' Else + ' CHKBTNVERSIONLOCK.Value = False + ' Endif + If Fmain.BTNDISTUPDATE.Visible = True Then + CHKBTNDISTROUPDATE.Value = True + Else + CHKBTNDISTROUPDATE.Value = False + Endif + If Right(Left($LOCK)) = "2" Then + CHKDNFDRAKETRAY.Value = True + Endif +' If Exist(User.Home &/ ".config/dnfdrake/locktray") Then +' CHKDNFDRAKETRAY.Value = True +' Endif + + If Exist(User.Home &/ ".config/autostart/dnfdraketray.gambas.desktop") Then + CHKDNFDRAKETRAYLAUNCH.Value = True + Endif + + flDSTSYNC = Open User.Home &/ ".config/dnfdrake/distrosync" For Read ' ...oppure "Input" + While Not Eof(flDSTSYNC) + Input #flDSTSYNC, s$DSTSYNC + ss$DSTSYNC.Add(s$DSTSYNC) + Wend + Close #flDSTSYNC + For jDSTSYNC = 0 To ss$DSTSYNC.Max + If ss$DSTSYNC[0] = "1" + CHKBTNDISTROUPDATE.Value = True + Else + CHKBTNDISTROUPDATE.Value = False + Endif + Next + flDSTSYNC.Close + + 'VECCHIA GESTIONE DISTROSYNC + ' If Exist(User.Home &/ ".config/dnfdrake/distrosync") Then + ' CHKBTNDISTROUPDATE.Value = True + ' Else + ' CHKBTNDISTROUPDATE.Value = False + ' Endif + + If Fmain.$VERBOSE = "" Then + CHKBTNVERBOSE.Value = True + Else + CHKBTNVERBOSE.Value = False + Endif + + ' If Fmain.BTNDNFCLEAN.Visible = True + ' CHKBTNDNFCLEAN.Value = True + ' Endif + + If Fmain.$CASE = 1 Then + CHKIGNORECASE.VALUE = True + Endif + + If Fmain.$AUTOSUSPEND = 1 Then + CHKAUTOSUSPEND.VALUE = True + Endif + +End + + +Public Sub Label1_MouseDown() +End + +Public Sub BTNCLOSE_Click() + BTNCLOSE.Enabled = False + Dim $PID As String + + If CHKDUPLICATE.VALUE = True Then + Fmain.$SEARCH = Fmain.$SEARCH & " " & "--showduplicate" + CHKOFFLINE.Value = False + Message.Info($SHOWDUPLICATE, "OK") + Else + Fmain.$SEARCH = "" + Endif + + ' If CHKBTNPKGUPDATE.VALUE = True Then + ' Fmain.BTNPKGUPDATE.Visible = True + ' Else + ' Fmain.BTNPKGUPDATE.Visible = False + ' Endif + + ' If CHKBTNDNFCLEAN.VALUE = True Then + ' Fmain.BTNDNFCLEAN.Visible = True + ' Else + ' Fmain.BTNDNFCLEAN.Visible = False + ' Endif + + ' If CHKBTNDOWNGRADE.VALUE = True Then + ' Fmain.BTNDOWNDGRADE.Visible = True + ' Else + ' Fmain.BTNDOWNDGRADE.Visible = False + ' Endif + + ' If CHKBTNREINSTALL.VALUE = True Then + ' Fmain.BTNREINSTALL.Visible = True + ' Else + ' Fmain.BTNREINSTALL.Visible = False + ' Endif + ' + ' If CHKBTNVERSIONLOCK.Value = True Then + ' Fmain.BTNVERSLOCK.Visible = True + ' Fmain.CMBVERSLOCK.Visible = True + ' Else + ' Fmain.BTNVERSLOCK.Visible = False + ' Fmain.CMBVERSLOCK.Visible = False + ' Endif + + If CHKBTNDISTROUPDATE.Value = True And Fmain.BTNDISTUPDATE.Visible = True Then + Else + If CHKBTNDISTROUPDATE.Value = True And Fmain.BTNDISTUPDATE.Visible = False Then + Fmain.BTNDISTUPDATE.Visible = True + Fmain.PICBTNDISTUPDATE.Visible = True + Shell "echo 1 > " & User.Home &/ ".config/dnfdrake/distrosync" Wait + Else + If Not Exist(User.Home &/ ".config/dnfdrake/distrosync") Then + Else + Fmain.BTNDISTUPDATE.Visible = False + Fmain.PICBTNDISTUPDATE.Visible = False + Shell ("rm -f " & User.Home &/ ".config/dnfdrake/distrosync") Wait + Shell "echo 0 > " & User.Home &/ ".config/dnfdrake/distrosync" Wait + Fmain.$UPDATE = "sudo dnf clean all; dnf repolist; sudo dnf --refresh upgrade" + Message.Info("The default command update had to be restored. If you have a custom command restart DnfDrake!", "OK") + Endif + Endif + Endif + + If CHKDNFDRAKETRAY.VALUE = True Then + Shell ("/usr/bin/dnfdraketray.gambas") + Fmain.$KILL = 1 + Else + Shell "ps aux | grep gbr3 | grep dnfdraketray" Wait To $PID + $PID = Right(Left($PID, 16), 8) + Shell "kill " & $PID + Shell ("rm -f " & User.Home &/ ".config/dnfdrake/locktray") + Fmain.$KILL = 0 + Endif + + If CHKDNFDRAKETRAYLAUNCH.VALUE = True And If Not Exist(User.Home &/ ".config/autostart/dnfdraketray.gambas.desktop") Then + If Not Exist(User.Home &/ ".config/autostart") Then + Shell ("mkdir " & User.Home &/ ".config/autostart") + Endif + Shell ("cp /usr/share/dnfdrake/dnfdraketray.gambas.desktop " & User.Home &/ ".config/autostart/") + Endif + + If CHKDNFDRAKETRAYLAUNCH.VALUE = False And If Exist(User.Home &/ ".config/autostart/dnfdraketray.gambas.desktop") Then + Shell ("rm -f " & User.Home &/ ".config/autostart/dnfdraketray.gambas.desktop") + Endif + + If CHKOFFLINE.Value = True Then + Fmain.$OFFLINE = 1 + Fmain.PCTCONNECT.Visible = False + Fmain.PCTDISCONNECT.Visible = True + If Fmain.Btnexp1.Text = "UEXP1" Then + Fmain.Btnexp1_Click + Endif + Else + Fmain.$OFFLINE = 0 + Fmain.PCTCONNECT.Visible = True + Fmain.PCTDISCONNECT.Visible = False + If Fmain.Btnexp1.Text = "UEXP1" Then + Fmain.Btnexp1_Click + Endif + If Fmain.$CASE = 1 Then + Fmain.$CASE = 0 + Message.Info("Igore Case option have been temporarily disabled", "OK") + Endif + Endif + + If CHKBTNVERBOSE.Value = True Then + Fmain.$VERBOSE = "" + Fmain.$LOG = "NOLOG" + Fmain.$SECUREMODE = "NOSECURE" + Fmain.BTNREPLAY.Visible = False + Message.Info("Log recording and SecureMode have been temporarily disabled", "OK") + Else + Fmain.$VERBOSE = " | tee /dev/null " & User.Home & "/.config/dnfdrake/log/last.log" + Fmain.BTNREPLAY.Visible = True + Endif + + If CHKIGNORECASE.Value = True Then + Fmain.$CASE = 1 + Shell "> " & User.Home &/ ".config/dnfdrake/ignorecase" Wait + Else + Fmain.$CASE = 0 + Shell ("rm -f " & User.Home &/ ".config/dnfdrake/ignorecase") Wait + Endif + + If CHKAUTOSUSPEND.Value = True Then + Fmain.$AUTOSUSPEND = 1 + Shell "> " & User.Home &/ ".config/dnfdrake/autosuspend" Wait + Else + Fmain.$AUTOSUSPEND = 0 + Shell ("rm -f " & User.Home &/ ".config/dnfdrake/autosuspend") Wait + Endif + Me.Close +End + +Public Sub CHKDUPLICATE_Click() +End + +Public Sub TXTSEARCH_MouseDown() +End + + +Public Sub Label5_MouseDown() +End + +Public Sub CHKDNFDRAKETRAYLAUNCH_Click() +End + +Public Sub Button1_Click() + + CHKDNFDRAKETRAY.Value = False + CHKDNFDRAKETRAYLAUNCH.Value = False + Shell ("rm -f " & User.Home &/ ".config/dnfdrake/locktray") + Shell ("rm -f " & User.Home &/ ".config/autostart/dnfdraketray.gambas.desktop") + +End + +Public Sub CHKOFFLINE_Click() +End + + +' Public Sub CHKBTNVERSIONLOCK_Click() +' +' +' +' End + +Public Sub CHKBTNDISTROUPDATE_Click() +End + +Public Sub BTNEXIT_Click() + BTNEXIT.Enabled = False + Me.Close +End +Public Sub CHKBTNVERBOSE_Click() + +End + +Public Sub CHKIGNORECASE_Click() + +End +Public Sub CHKAUTOSUSPEND_Click() + + + +End +Public Sub Form_Close() + + Fmain.Enabled = True + +End + diff --git a/.src/FEXTRA.form b/.src/FEXTRA.form new file mode 100644 index 0000000..50bd8a0 --- /dev/null +++ b/.src/FEXTRA.form @@ -0,0 +1,114 @@ +# Gambas Form File 3.0 + +{ Form Form + MoveScaled(0,0,64,81) + Icon = Picture["dnfdrake.svg"] + Resizable = False + { Label5 Label + MoveScaled(2,60,60,13) + Border = Border.Plain + } + { Label1 Label + MoveScaled(2,9,60,15) + Border = Border.Plain + } + { Label2 Label + MoveScaled(14,1,36,4) + Font = Font["+4"] + Alignment = Align.Center + Border = Border.Plain + Text = ("EXTRA OPTIONS") + } + { Label3 Label + MoveScaled(2,28,60,14) + Border = Border.Plain + } + { Label4 Label + MoveScaled(2,46,60,10) + Border = Border.Plain + } + { CHKDUPLICATE CheckBox + MoveScaled(4,10,24,4) + Text = (" --showduplicate") + } + { TXTSEARCH Label + MoveScaled(2,6,24,3) + Border = Border.Plain + Text = (" Search") + } + { Label6 Label + MoveScaled(2,25,24,3) + Border = Border.Plain + Text = (" Install/Uninstall") + } + { Label7 Label + MoveScaled(2,43,24,3) + Border = Border.Plain + Text = (" Extra Option") + } + { BTNCLOSE Button + MoveScaled(3,75,16,4) + } + { CHKBTNDOWNGRADE CheckBox + MoveScaled(3,51,24,4) + Visible = False + Text = ("Downgrade") + } + { CHKDNFDRAKETRAY CheckBox + MoveScaled(3,62,24,4) + Text = ("DnfDrakeTray") + } + { CHKDNFDRAKETRAYLAUNCH CheckBox + MoveScaled(35,62,24,4) + Text = ("Run on Startup") + } + { Label8 Label + MoveScaled(2,57,24,3) + Border = Border.Plain + Text = (" Launch DnfDrakeTray") + } + { Button1 Button + MoveScaled(24,67,16,4) + Text = ("Reset") + } + { CHKOFFLINE CheckBox + MoveScaled(36,10,24,4) + Text = ("Search Offline") + Value = CheckBox.True + } + { CHKBTNVERSIONLOCK CheckBox + MoveScaled(37,51,24,4) + Visible = False + Text = ("Versionlock") + } + { CHKBTNDISTROUPDATE CheckBox + MoveScaled(3,30,32,4) + ToolTip = ("Use for Rolling - Cooker") + Text = ("Distro Update (Rolling -Cooker)") + } + { BTNEXIT Button + MoveScaled(45,75,16,4) + } + { CHKBTNREINSTALL CheckBox + MoveScaled(37,30,24,4) + Visible = False + Text = ("Reinstall") + } + { CHKBTNVERBOSE CheckBox + MoveScaled(3,36,24,4) + Text = ("Verbose Mode") + } + { CHKBTNDNFCLEAN CheckBox + MoveScaled(37,36,24,4) + Visible = False + Text = ("Dnf Clean Cache") + } + { CHKIGNORECASE CheckBox + MoveScaled(4,18,24,4) + Text = ("Ignore Case") + } + { CHKAUTOSUSPEND CheckBox + MoveScaled(3,47,31,4) + Text = ("Disable suspend during updates") + } +} diff --git a/.src/FINSTALL.class b/.src/FINSTALL.class new file mode 100644 index 0000000..d80be9c --- /dev/null +++ b/.src/FINSTALL.class @@ -0,0 +1,85 @@ +' Gambas class file + +$TXTRPMPATH As String +Public $SECURE As Integer + +Public Sub Form_Open() + + Dim flTTP As File + Dim jTTP As Byte + Dim s$TTP As String + Dim ss$TTP As New String[] + flTTP = Open "/usr/share/dnfdrake/dnfdrake-TTP-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flTTP) + Input #flTTP, s$TTP +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$TTP.Add(s$TTP) + Wend + Close #flTTP +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jTTP = 0 To ss$TTP.Max + $TXTRPMPATH = Replace(ss$TTP[50], "_", " ") + Next + flTTP.Close + '********************************************************************************* + +BTNINSTALL.Text = Fmain.btninstall.Text +BTNANNULLA.Text = Fmain.btnstop.Text +BTNPKGUPDATE.Text = Fmain.BTNPKGUPDATE.Text +BTNPKGREINSTALL.Text = Fmain.BTNREINSTALL.Text +TXTRPMPATH.Text = $TXTRPMPATH & Right(Fmain.$RPMPATH, "-" & RInStr(Fmain.$RPMPATH, "/")) & " ?" +If Fmain.$SECUREMODE = "SECURE" Then + Fmain.Enabled = False +Endif +$SECURE = 0 +End + + +Public Sub BTNANNULLA_Click() + + Fmain.$RPMPATH = "" + Fmain.txtpkg.Text = "" + If Fmain.$OFFLINE = 1 Then + Fmain.TimerUPLISTE.Enabled = True + Endif + $SECURE = 1 + Fmain.Enabled = True + Me.Close +End + +Public Sub BTNINSTALL_Click() + BTNINSTALL.Enabled = False + $SECURE = 1 + Fmain.$RPMPATH = "" + Fmain.BTNINSTALL_CLICK + Me.Close +End + +Public Sub TXTRPMPATH_MouseDown() +End + +Public Sub BTNPKGUPDATE_Click() + BTNPKGUPDATE.Enabled = False + $SECURE = 1 + Fmain.$RPMPATH = "" + Fmain.BTNPKGUPDATE_Click + Me.Close +End + +Public Sub BTNPKGREINSTALL_Click() + BTNPKGREINSTALL.Enabled = False + $SECURE = 1 + Fmain.$RPMPATH = "" + Fmain.BTNREINSTALL_CLICK + Me.Close +End + +Public Sub Form_Close() +If $SECURE = 1 Then +Else + BTNANNULLA_Click +Endif + +End + diff --git a/.src/FINSTALL.form b/.src/FINSTALL.form new file mode 100644 index 0000000..a162ce9 --- /dev/null +++ b/.src/FINSTALL.form @@ -0,0 +1,26 @@ +# Gambas Form File 3.0 + +{ Form Form + MoveScaled(0,0,96,11) + Text = ("Install Package") + Icon = Picture["dnfdrake.svg"] + Resizable = False + AutoResize = True + { TXTRPMPATH Label + MoveScaled(1,1,94,3) + Alignment = Align.Center + } + { BTNINSTALL Button + MoveScaled(2,5,15.7143,4) + } + { BTNANNULLA Button + MoveScaled(78,5,15.7143,4) + #Translate = False + } + { BTNPKGUPDATE Button + MoveScaled(27,5,15.7143,4) + } + { BTNPKGREINSTALL Button + MoveScaled(53,5,15.7143,4) + } +} diff --git a/.src/FLOADLISTE.class b/.src/FLOADLISTE.class new file mode 100644 index 0000000..f5f2513 --- /dev/null +++ b/.src/FLOADLISTE.class @@ -0,0 +1,147 @@ +' Gambas class file + +Public $LOADLIST As String +Public $LOADINST As String +Public $LOADNONINST As String +Public $LOADAGG As String +Public $UPDATEDIPS As String + + +Public Sub Form_Open() + Dim flTTP As File + Dim jTTP As Byte + Dim s$TTP As String + Dim ss$TTP As New String[] + +'TITOLI E TOOTIP******************************************************************* + flTTP = Open "/usr/share/dnfdrake/dnfdrake-TTP-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flTTP) + Input #flTTP, s$TTP + ss$TTP.Add(s$TTP) + Wend + Close #flTTP + For jTTP = 0 To ss$TTP.Max + $LOADLIST = Replace(ss$TTP[33], "_", " ") + $LOADINST = Replace(ss$TTP[34], "_", " ") + $LOADNONINST = Replace(ss$TTP[35], "_", " ") + $LOADAGG = Replace(ss$TTP[36], "_", " ") + Next + flTTP.Close + '********************************************************************************* +TXTSTATO.Text = $LOADLIST +If Fmain.$SECUREMODE = "SECURE" Then + Fmain.Enabled = False +Endif +If Fmain.$RPMPATH = "" Then + Else + Timer1.Enabled = False + Fmain.Btnclear_click + Fmain.Btncleartxtpkg_click + Fmain.txtpkg.Text = Fmain.$RPMPATH + FINSTALL.Show + 'Fmain.$RPMPATH = "" ELIMINATA PER GESTIONE CON FINSTALL + Me.Close +Endif + +End + + +Public Sub TXTSTATO_MouseDown() + +End + +Public Sub ProgressBar1_MouseDown() + +End + +Public Sub Timer1_Timer() + +Dim b As Byte + +Dim flUPD As File +Dim jUPD As Byte +Dim s$UPD As String +Dim ss$UPD As New String[] + ' If Fmain.$RPMPATH = "" + For b = 1 To 10 + ProgressBar1.Value = b / 100 + BTNSKIP.Enabled = False + Wait 0.01 + Next + TXTSTATO.Text = $LOADINST + Shell "dnf list installed >" & User.Home &/ ".config/dnfdrake/installati.txt" Wait + For b = 10 To 40 + ProgressBar1.Value = b / 100 + Wait 0.01 + Next + TXTSTATO.Text = $LOADNONINST + Shell "dnf list available >" & User.Home &/ ".config/dnfdrake/noninstallati.txt" Wait + For b = 40 To 80 + ProgressBar1.Value = b / 100 + Wait 0.01 + Next + TXTSTATO.Text = $LOADAGG + Shell "dnf list upgrades >" & User.Home &/ ".config/dnfdrake/updates.txt" Wait + For b = 80 To 100 + ProgressBar1.Value = b / 100 + Wait 0.01 + Next + If ProgressBar1.Value = 1 Then + Fmain.Btnclear_click + Fmain.Btncleartxtpkg_click + Me.Close + Endif + Timer1.Enabled = False + + 'VERIFICA SE PRESENTI AGGIORNAMENTI + If Exist(User.Home &/ ".config/dnfdrake/locktray") Then + flUPD = Open User.Home &/ ".config/dnfdrake/locktray" For Read + + While Not Eof(flUPD) + Input #flUPD, s$UPD + ss$UPD.Add(s$UPD) + Wend + Close #flUPD + If ss$UPD.max > -1 Then + For jUPD = 0 To ss$UPD.Max + $UPDATEDIPS = Replace(ss$UPD[0], "_", " ") + + Next + Endif + flUPD.Close + + If $UPDATEDIPS = 1 Then + File.Save(User.Home &/ "/.config/dnfdrake/locktray", "0") + Fmain.Cmbtipo.index = 3 + Fmain.btncerca_CLICK + Endif + Endif + ' Else + ' Timer1.Enabled = False + ' Fmain.Btnclear_click + ' Fmain.Btncleartxtpkg_click + ' Fmain.txtpkg.Text = Fmain.$RPMPATH + ' FINSTALL.Show + ' 'Fmain.$RPMPATH = "" ELIMINATA PER GESTIONE CON FINSTALL + ' Me.Close + ' Endif +End + +Public Sub BTNSKIP_Click() + BTNSKIP.Enabled = False + Timer1.Enabled = False + Fmain.Btnclear_click + Fmain.Btncleartxtpkg_click + Me.Close + +End + + +Public Sub Form_Close() +Fmain.Btnclear_click +Fmain.TMPLISTCLEAN +Fmain.EXCLUDETEST +If FINSTALL.Visible = False Then + Fmain.Enabled = True +Endif +End diff --git a/.src/FLOADLISTE.form b/.src/FLOADLISTE.form new file mode 100644 index 0000000..d2f91f9 --- /dev/null +++ b/.src/FLOADLISTE.form @@ -0,0 +1,26 @@ +# Gambas Form File 3.0 + +{ Form Form + Move(0,0,658,49) + #Scaled = False + Mouse = Mouse.Wait + Icon = Picture["dnfdrake.svg"] + Resizable = False + { TXTSTATO Label + Move(7,14,224,21) + Alignment = Align.Left + Text = ("Preparazione Liste Pacchetti") + } + { ProgressBar1 ProgressBar + Move(231,17,364,14) + } + { Timer1 #Timer + #Move(497,0) + Enabled = True + Delay = 3000 + } + { BTNSKIP Button + Move(602,14,49,21) + Text = ("Skip") + } +} diff --git a/.src/FMYREPO.class b/.src/FMYREPO.class new file mode 100644 index 0000000..ef49e7f --- /dev/null +++ b/.src/FMYREPO.class @@ -0,0 +1,439 @@ +' Gambas class file + +$DNFCLEANCACHE As Integer +$INFOCLEANCACHE As String +$MODIFICHE As Integer + +Public Sub Form_Open() + Dim flTTP As File + Dim jTTP As Byte + Dim s$TTP As String + Dim ss$TTP As New String[] + 'TITOLI E TOOTIP******************************************************************* + flTTP = Open "/usr/share/dnfdrake/dnfdrake-TTP-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flTTP) + Input #flTTP, s$TTP +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$TTP.Add(s$TTP) + Wend + Close #flTTP +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jTTP = 0 To ss$TTP.Max + LabelName.Text = Replace(ss$TTP[65], "_", " ") + LabelName2.Text = LabelName.Text + LabelPATHREPO.Text = Replace(ss$TTP[66], "_", " ") + LabelPATHGPGKEY.Text = Replace(ss$TTP[67], "_", " ") + BTNPULISCI.Tooltip = Replace(ss$TTP[68], "_", " ") + CHKENABLED.Tooltip = Replace(ss$TTP[69], "_", " ") + CHKGPG.Tooltip = Replace(ss$TTP[70], "_", " ") + CHKREMOTE.Tooltip = Replace(ss$TTP[71], "_", " ") + Btnpathfile.Tooltip = Replace(ss$TTP[72], "_", " ") + BTNPATHGPG.Tooltip = Replace(ss$TTP[72], "_", " ") + BTNBUILDREPO.Tooltip = Replace(ss$TTP[73], "_", " ") + BTNADDREPO.Tooltip = Replace(ss$TTP[74], "_", " ") + BTNCLOSE.tooltip = Replace(ss$TTP[4], "_", " ") + BTNNOMECLEAR.Tooltip = Replace(ss$TTP[24], "_", " ") + BTNREMOVE.Tooltip = Replace(ss$TTP[61], "_", " ") + $INFOCLEANCACHE = Replace(ss$TTP[75], "_", " ") + Next + flTTP.Close +'************************************************************************************* + + If Fmain.$SECUREMODE = "SECURE" Then + Fmain.Enabled = False + Endif + CERCAREPO + $DNFCLEANCACHE = 0 + $MODIFICHE = 0 + LSTREPO.SetFocus + If LSTREPO.Count > -1 Then + LSTREPO.KEY = 0 + Endif + +End + +Public Sub Form_Close() + Print #Fmain.$hProcess, "rm -f " & User.Home & "/.config/dnfdrake/repolist.tmp " + Wait 0.02 + Fmain.Btnclear_click + If $DNFCLEANCACHE = 1 Then + Message.Info($INFOCLEANCACHE, "Ok") + $DNFCLEANCACHE = 0 + Fmain.BTNDNFCLEAN_click + Else + If $MODIFICHE = 1 Then + Fmain.TimerUPLISTE.Enabled = True + Endif + Endif + Fmain.Enabled = True + +End + +Public Sub CERCAREPO() + Dim flREPO As File + Dim jREPO As Byte + Dim s$REPO As String + Dim ss$REPO As New String[] + +'PULISCE LA COMBOX************************************************************* +CMBREPO.Clear +LSTREPO.Clear +'CARICARE NOMI DEI REPO NEL CMBBOX********************************************* + Print #Fmain.$hProcess, "ls /etc/yum.repos.d/ |grep drake > " & User.Home & "/.config/dnfdrake/repolist.tmp" + Wait 0.02 + Fmain.Btnclear_click + flREPO = Open User.Home & "/.config/dnfdrake/repolist.tmp" For Read ' ...oppure "Input" + While Not Eof(flREPO) + Input #flREPO, s$REPO +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$REPO.Add(s$REPO) + Wend + Close #flREPO +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + If ss$REPO.Max > -1 + For jREPO = 0 To ss$REPO.Max + CMBREPO.add(ss$REPO[jREPO], jREPO) + LSTREPO.Add(jREPO, " " & ss$REPO[jREPO]) + Next + Endif + flREPO.Close + CMBREPO_Click +'SPOSTATO DA OPEN PER PROVA************************************* + If CMBREPO.Text = "" Then + CMBREPO.Text = "MyRepo-" + CHKENABLED.Value = False + CHKGPG.Value = False + TXTPATH.Text = "" + Endif +CERCALSTREPO + +End +Public Sub CERCALSTREPO() + Dim flCHK As File + Dim jCHK As Byte + Dim s$CHK As String + Dim ss$CHK As New String[] + Dim jitem As Integer + +If LSTREPO.Count > -1 Then + For jitem = 0 To (LSTREPO.Count - 1) + flCHK = Open "/etc/yum.repos.d/" & Replace(LSTREPO[jitem].Text, " ", "") For Read ' ...oppure "Input" + While Not Eof(flCHK) + Input #flCHK, s$CHK + ss$CHK.Add(s$CHK) + Wend + Close #flCHK + For jCHK = 0 To (ss$CHK.Max - 1) + If ss$CHK[13] = "enabled=1" + LSTREPO[jitem].Selected = True + Else + LSTREPO[jitem].Selected = False + Endif + Next + flCHK.Close + jCHK = 0 + ss$CHK.Clear + Next + +Endif + +End + +Public Sub BTNCLOSE_Click() + BTNCLOSE.Enabled = False + Fmain.$FRUNPW = 1 + Me.Close +End + +Public Sub Btnpathfile_Click() + 'APRE LA FINESTRA PER SELEZIONARE DOVE SCARICARE IL PACCHETTO + TXTPATH.Text = "" + Dialog.Title = "Select My Repo Path..." + Dialog.Path = User.Home 'IMPOSTA LA FINESTRA IN HOME UTENTE + If Dialog.SelectDirectory() Then + Else + TXTPATH.Text = Replace(Dialog.Path, " ", Chr$(92) & " ") ' serve agestire percorsi con gli spazi + ' $repopathdir = Replace(Dialog.Path, " ", Chr$(92) & " ") ' serve agestire percorsi con gli spazi + ' TXTPATH.Text = $repopathdir + Endif + '************************************************************* +End + +Public Sub BTNBUILDREPO_Click() + If TXTPATH.Text = "" Then + Message.Info("Select Path of Repo", "Ok") + Else + If Exist(TXTPATH.Text & "/repodata") Then + $DNFCLEANCACHE = 1 + Print #Fmain.$hProcess, "createrepo_c -v " & TXTPATH.Text & gb.NewLine; + Else + Print #Fmain.$hProcess, "createrepo_c -v " & TXTPATH.Text & gb.NewLine; + Endif + + Endif +End + +Public Sub BTNADDREPO_Click() +$MODIFICHE = 1 +Fmain.$MEMOCOMMAND = "" +'CREAZIONE REPO REMOTO*********************************************************** + If CHKREMOTE.Value = True Then + If TXTPATH.Text = "" Then + Message.Info("Select Url of Repo", "Ok") + Else + If CHKGPG.Value = True And If TXTPATHGPG.Text = "" + Message.Info("Select Url of Gpg", "Ok") + Else +'MODIFICA REPO ESISTENTE********************************************************* + If InStr(CMBREPO.Text, "-dnfdrake.repo") Then + Print #Fmain.$hProcess, "echo '#Questo file è crearo in modo automatico da DnfDrake' >" & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Wait 0.05 + Print #Fmain.$hProcess, "echo '[" & Left(CMBREPO.Text, -14) & "]' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Wait 0.05 + Print #Fmain.$hProcess, "echo 'name=" & Left(CMBREPO.Text, -14) & "' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Wait 0.05 + Print #Fmain.$hProcess, "echo 'baseurl=" & TXTPATH.Text & "' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Wait 0.05 + If CHKGPG.Value = True + Print #Fmain.$hProcess, "echo 'gpgcheck=1' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Else + Print #Fmain.$hProcess, "echo 'gpgcheck=0' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Endif + Wait 0.05 + If CHKENABLED.Value = True + Print #Fmain.$hProcess, "echo 'enabled=1' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Else + Print #Fmain.$hProcess, "echo 'enabled=0' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Endif + Wait 0.05 + Print #Fmain.$hProcess, "echo 'gpgkey=" & TXTPATHGPG.Text & "' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Wait 0.5 + Print #Fmain.$hProcess, "sudo cp " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & " /etc/yum.repos.d/" & gb.NewLine; + Fmain.$MEMOCOMMAND = "TMPREPOCLEAR" +'CREAZIONE NUOVO REPO********************************************************* + Else + Print #Fmain.$hProcess, "echo '#Questo file è crearo in modo automatico da DnfDrake' >" & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Wait 0.05 + Print #Fmain.$hProcess, "echo '[" & CMBREPO.Text & "]' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Wait 0.05 + Print #Fmain.$hProcess, "echo 'name=" & CMBREPO.Text & "' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Wait 0.05 + Print #Fmain.$hProcess, "echo 'baseurl=" & TXTPATH.Text & "' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Wait 0.05 + If CHKGPG.Value = True Then + Print #Fmain.$hProcess, "echo 'gpgcheck=1' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Else + Print #Fmain.$hProcess, "echo 'gpgcheck=0' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Endif + Wait 0.05 + If CHKENABLED.Value = True + Print #Fmain.$hProcess, "echo 'enabled=1' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Else + Print #Fmain.$hProcess, "echo 'enabled=0' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Endif + Wait 0.05 + Print #Fmain.$hProcess, "echo 'gpgkey=" & TXTPATHGPG.Text & "' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Wait 0.5 + Print #Fmain.$hProcess, "sudo cp " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & "/etc/yum.repos.d/" & gb.NewLine; + Fmain.$MEMOCOMMAND = "TMPREPOCLEAR" + Endif + Endif + Endif +'CREAZIONE REPO LOCALE*********************************************************** + Else + If TXTPATH.Text = "" Then + Message.Info("Select Path of Repo", "Ok") + Else + If Not Exist("/" & TXTPATH.Text & "/repodata") Then + Message.Info("Build Repo Data", "Ok") + Else + If CHKGPG.Value = True And If TXTPATHGPG.Text = "" + Message.Info("Select Path of Gpg", "Ok") + Else +'MODIFICA REPO ESISTENTE********************************************************* + If InStr(CMBREPO.Text, "-dnfdrake.repo") Then + Print #Fmain.$hProcess, "echo '#Questo file è crearo in modo automatico da DnfDrake' >" & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Wait 0.05 + Print #Fmain.$hProcess, "echo '[" & Left(CMBREPO.Text, -14) & "]' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Wait 0.05 + Print #Fmain.$hProcess, "echo 'name=" & Left(CMBREPO.Text, -14) & "' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Wait 0.05 + Print #Fmain.$hProcess, "echo 'baseurl=" & TXTPATH.Text & "' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Wait 0.05 + If CHKGPG.Value = True + Print #Fmain.$hProcess, "echo 'gpgcheck=1' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Else + Print #Fmain.$hProcess, "echo 'gpgcheck=0' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Endif + Wait 0.05 + If CHKENABLED.Value = True + Print #Fmain.$hProcess, "echo 'enabled=1' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Else + Print #Fmain.$hProcess, "echo 'enabled=0' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Endif + Wait 0.05 + Print #Fmain.$hProcess, "echo 'gpgkey=" & TXTPATHGPG.Text & "' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & gb.NewLine; + Wait 0.5 + Print #Fmain.$hProcess, "sudo cp " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & " /etc/yum.repos.d/" & gb.NewLine; + Fmain.$MEMOCOMMAND = "TMPREPOCLEAR" +'CREAZIONE NUOVO REPO********************************************************* + Else + Print #Fmain.$hProcess, "echo '#Questo file è crearo in modo automatico da DnfDrake' >" & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Wait 0.05 + Print #Fmain.$hProcess, "echo '[" & CMBREPO.Text & "]' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Wait 0.05 + Print #Fmain.$hProcess, "echo 'name=" & CMBREPO.Text & "' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Wait 0.05 + Print #Fmain.$hProcess, "echo 'baseurl=" & TXTPATH.Text & "' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Wait 0.05 + If CHKGPG.Value = True Then + Print #Fmain.$hProcess, "echo 'gpgcheck=1' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Else + Print #Fmain.$hProcess, "echo 'gpgcheck=0' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Endif + Wait 0.05 + If CHKENABLED.Value = True + Print #Fmain.$hProcess, "echo 'enabled=1' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Else + Print #Fmain.$hProcess, "echo 'enabled=0' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Endif + Wait 0.05 + Print #Fmain.$hProcess, "echo 'gpgkey=" & TXTPATHGPG.Text & "' >> " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & gb.NewLine; + Wait 0.5 + Print #Fmain.$hProcess, "sudo cp " & User.Home & "/.config/dnfdrake/" & CMBREPO.Text & "-dnfdrake.repo " & "/etc/yum.repos.d/" & gb.NewLine; + Fmain.$MEMOCOMMAND = "TMPREPOCLEAR" + Endif + Endif + Endif + Endif + Endif + + +End +Public Sub BTNNOMECLEAR_Click() + CMBREPO.Text = "" +End +Public Sub CHKENABLED_Click() +End +Public Sub CMBREPO_Click() + Dim flCHK As File + Dim jCHK As Byte + Dim s$CHK As String + Dim ss$CHK As New String[] + If InStr(CMBREPO.Text, ".repo") + flCHK = Open "/etc/yum.repos.d/" & CMBREPO.Text For Read ' ...oppure "Input" + While Not Eof(flCHK) + Input #flCHK, s$CHK +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$CHK.Add(s$CHK) + Wend + Close #flCHK +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jCHK = 0 To ss$CHK.Max + If ss$CHK[12] = "gpgcheck=1" + CHKGPG.Value = True + Else + CHKGPG.Value = False + Endif + If ss$CHK[13] = "enabled=1" + CHKENABLED.Value = True + Else + CHKENABLED.Value = False + Endif + TXTPATH.Text = Right(ss$CHK[11], -8) + TXTPATHGPG.Text = Right(ss$CHK[14], -7) + If Left(TXTPATH.Text, 4) = "http" Or If Left(TXTPATH.Text, 4) = "HTTP" Then + CHKREMOTE.Value = True + Else + CHKREMOTE.Value = False + Endif + Next + flCHK.Close + Endif + +End + +Public Sub BTNREMOVE_Click() +$MODIFICHE = 1 +Print #Fmain.$hProcess, "sudo rm /etc/yum.repos.d/" & CMBREPO.Text & gb.NewLine; +' Print #Fmain.$hProcess, "sudo rm -f /etc/yum.repos.d/" & CMBREPO.Text & gb.NewLine; +Fmain.$MEMOCOMMAND = "TMPREPOCLEAR" + +End +Public Sub CHKGPG_Click() +If CHKGPG.Value = False + TXTPATHGPG.Text = "" +Endif +End +Public Sub BTNPATHGPG_Click() + 'APRE LA FINESTRA PER SELEZIONARE DOVE SCARICARE IL PACCHETTO + TXTPATHGPG.Text = "" + Dialog.Title = "Select My Gpg Path..." + Dialog.Path = User.Home 'IMPOSTA LA FINESTRA IN HOME UTENTE + If Dialog.SelectDirectory() Then + Else + TXTPATHGPG.Text = Replace(Dialog.Path, " ", Chr$(92) & " ") ' serve agestire percorsi con gli spazi + Endif + '************************************************************* + + +End +Public Sub BTNPULISCI_Click() +CMBREPO.Text = "MyRepo-" +TXTPATH.Text = "" +TXTPATHGPG.Text = "" +CHKENABLED.Value = False +CHKGPG.Value = False +CHKREMOTE.Value = False + +End +Public Sub CHKREMOTE_Click() + + If CHKREMOTE.Value = True Then + Btnpathfile.enabled = False + BTNPATHGPG.Enabled = False + BTNBUILDREPO.Enabled = False + TXTPATH.Text = "http://" + Else + Btnpathfile.Enabled = True + BTNPATHGPG.Enabled = True + BTNBUILDREPO.Enabled = True + TXTPATH.Text = "" + Endif + TXTPATHGPG.Text = "" +End +Public Sub LSTREPO_Click() + +CMBREPO.Index = LSTREPO.Item.Key +If CHKENABLED.Value = True Then + LSTREPO[CMBREPO.Index].Selected = True + Else + LSTREPO[CMBREPO.Index].Selected = False +Endif +End +Public Sub LSTREPO_Select() +CMBREPO.Index = LSTREPO.Item.Key +CERCALSTREPO +End +Public Sub Timer1_Timer() + FMYREPO.Enabled = True + +End +Public Sub LabelName_MouseDown() +End + + +Public Sub Label1_MouseDown() + +End +Public Sub LabelName4_MouseDown() +End + +Public Sub LabelName5_MouseDown() + + + +End diff --git a/.src/FMYREPO.form b/.src/FMYREPO.form new file mode 100644 index 0000000..8cbd21c --- /dev/null +++ b/.src/FMYREPO.form @@ -0,0 +1,113 @@ +# Gambas Form File 3.0 + +{ Form Form + MoveScaled(0,0,63,83) + Text = ("My Repo Creator!") + Icon = Picture["dnfdrake.svg"] + Resizable = False + { LabelName5 Label + MoveScaled(2,2,59,43) + Alignment = Align.Top + Border = Border.Plain + Text = ("Summary") + } + { LabelName4 Label + MoveScaled(2,45,59,36) + Alignment = Align.Top + Border = Border.Plain + Text = ("Details") + } + { TXTPATH TextBox + MoveScaled(2.8571,58,52.8571,4) + } + { BTNCLOSE Button + MoveScaled(55.1429,76,5,4) + Picture = Picture["icon:/16/close"] + } + { BTNBUILDREPO Button + MoveScaled(2.8571,76,5,4) + Picture = Picture["icon:/16/exec"] + } + { Btnpathfile Button + MoveScaled(55.5714,58,4.4286,4) + Picture = Picture["icon:/16/directory"] + } + { BTNREMOVE Button + MoveScaled(37.5714,76,5,4) + Picture = Picture["icon:/16/trash"] + } + { BTNNOMECLEAR Button + MoveScaled(51.2857,51,4.4286,4) + Picture = Picture["icon:/16/clear"] + } + { LabelName Label + MoveScaled(3,48,56.8571,3) + Alignment = Align.Center + Border = Border.Plain + } + { LabelPATHREPO Label + MoveScaled(2.8571,55,57,3) + Alignment = Align.Center + Border = Border.Plain + } + { BTNADDREPO Button + MoveScaled(20.4286,76,5,4) + Picture = Picture["icon:/16/apply"] + } + { Label1 Label + MoveScaled(3,69,57,4) + Border = Border.Plain + } + { CMBREPO ComboBox + MoveScaled(2.8571,51,48.5714,4) + } + { CHKENABLED CheckBox + MoveScaled(3.8571,69,11.4286,4) + Text = ("Enabled") + } + { CHKGPG CheckBox + MoveScaled(25.8571,69,11.4286,4) + Text = ("GPG") + } + { CHKREMOTE CheckBox + MoveScaled(47.8571,69,11.4286,4) + Text = ("Remote") + } + { LabelPATHGPGKEY Label + MoveScaled(2.8571,62,57,3) + Alignment = Align.Center + Border = Border.Plain + } + { TXTPATHGPG TextBox + MoveScaled(2.8571,65,52.8571,4) + } + { BTNPATHGPG Button + MoveScaled(55.7143,65,4.4286,4) + Picture = Picture["icon:/16/directory"] + } + { BTNPULISCI Button + MoveScaled(55.5714,51,4.4286,4) + Picture = Picture["icon:/16/erase"] + } + { LSTREPO ListView + MoveScaled(3,8,57,36) + Mode = Select.Multiple + ShowCheck = True + } + { LabelName2 Label + MoveScaled(11,5,49,3) + Alignment = Align.Center + Border = Border.Plain + Text = ("MyRepoList") + } + { LabelName3 Label + MoveScaled(3,5,8,3) + Alignment = Align.Left + Border = Border.Plain + Text = (" Enabled") + } + { Timer1 #Timer + #MoveScaled(28,73) + Delay = 3000 + } +} diff --git a/.src/FOK.class b/.src/FOK.class new file mode 100644 index 0000000..2313944 --- /dev/null +++ b/.src/FOK.class @@ -0,0 +1,85 @@ +' Gambas class file + +Public $SECURE As Integer + +Public Sub Form_Open() + + Dim flBTN As File + Dim jBTN As Byte + Dim s$BTN As String + Dim ss$BTN As New String[] + + Dim flTTP As File + Dim jTTP As Byte + Dim s$TTP As String + Dim ss$TTP As New String[] + + flBTN = Open "/usr/share/dnfdrake/dnfdrake-BTN-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flBTN) + Input #flBTN, s$BTN +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$BTN.Add(s$BTN) + Wend + Close #flBTN +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jBTN = 0 To ss$BTN.Max + Btnclose.Text = ss$BTN[15] + Next + flBTN.Close +'TITOLI E TOOTIP******************************************************************* + flTTP = Open "/usr/share/dnfdrake/dnfdrake-TTP-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flTTP) + Input #flTTP, s$TTP +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$TTP.Add(s$TTP) + Wend + Close #flTTP +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jTTP = 0 To ss$TTP.Max + FOK.Text = Replace(ss$TTP[22], "_", " ") + Next + flTTP.Close +'************************************************************************************* + Btnclose.SetFocus +If FRUN.Visible = True Then + FRUN.ProgressBar1.Pulse = False + FRUN.ProgressBar1.Value = 1 + FRUN.BTNSTOP.Text = Btnclose.Text + FRUN.MONITORVIEW.Visible = False + FRUN.Text = "DnfDrake, " & Fmain.$FATTO + Me.Close +Endif +$SECURE = 0 +End + + + +Public Sub Btnclose_Click() + Btnclose.Enabled = False + If Fmain.$SECUREMODE = "SECURE" Then + Me.Close + If Fmain.Enabled = False And If FRUN.Visible = False Then + Fmain.Enabled = True + Endif + Else + If Fmain.txtConsole.Visible = True Then + Endif + Fmain.TimerUPLISTE.Enabled = True + Fmain.TMPLISTCLEAN + Fmain.Mouse = Mouse.Default + FRUN.Close + $SECURE = 1 + Me.Close + Endif +End + +Public Sub Form_Close() + If $SECURE = 1 Then +Else + Btnclose_Click +Endif + + +End diff --git a/.src/FOK.form b/.src/FOK.form new file mode 100644 index 0000000..3dc55fb --- /dev/null +++ b/.src/FOK.form @@ -0,0 +1,11 @@ +# Gambas Form File 3.0 + +{ Form Form + Move(0,0,350,77) + #Scaled = False + Icon = Picture["dnfdrake.svg"] + Resizable = False + { Btnclose Button + Move(119,21,112,28) + } +} diff --git a/.src/FPROGRESSWAIT.class b/.src/FPROGRESSWAIT.class new file mode 100644 index 0000000..5e85a8c --- /dev/null +++ b/.src/FPROGRESSWAIT.class @@ -0,0 +1,56 @@ +' Gambas class file + + +Public Sub Form_Open() + Dim flTTP As File + Dim jTTP As Byte + Dim s$TTP As String + Dim ss$TTP As New String[] + 'TITOLI E TOOTIP******************************************************************* + + flTTP = Open "/usr/share/dnfdrake/dnfdrake-TTP-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flTTP) + Input #flTTP, s$TTP +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$TTP.Add(s$TTP) + Wend + Close #flTTP +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jTTP = 0 To ss$TTP.Max + LBLATTIVITA.Text = Replace(ss$TTP[80], "_", " ") + Next + flTTP.Close + + BTNSTOP.Text = Fmain.btnstop.Text + + If Fmain.$SECUREMODE = "SECURE" Then + Fmain.Enabled = False + Endif + Wait 0.05 + MONITORVIEW.Visible = True + MONITORVIEW.Text = "" + +End + +Public Sub LBLATTIVITA_MouseDown() + +End + +Public Sub BTNSTOP_Click() + + Fmain.BTNSTOP_Click + MONITORVIEW.Visible = False + +End + +Public Sub Form_Close() + + Fmain.Enabled = True + +End + + +Public Sub MONITORVIEW_MouseDown() + +End diff --git a/.src/FPROGRESSWAIT.form b/.src/FPROGRESSWAIT.form new file mode 100644 index 0000000..7bfd5d5 --- /dev/null +++ b/.src/FPROGRESSWAIT.form @@ -0,0 +1,23 @@ +# Gambas Form File 3.0 + +{ Form Form + Move(0,0,609,91) + #Scaled = False + Icon = Picture["dnfdrake.svg"] + Resizable = False + { ProgressBar1 ProgressBar + Move(14,35,469,21) + Pulse = True + } + { LBLATTIVITA Label + Move(14,7,581,21) + Alignment = Align.Center + } + { BTNSTOP Button + Move(490,32,105,28) + } + { MONITORVIEW Label + Move(14,63,581,21) + Alignment = Align.Top + } +} diff --git a/.src/FPW.class b/.src/FPW.class new file mode 100644 index 0000000..6a211e5 --- /dev/null +++ b/.src/FPW.class @@ -0,0 +1,189 @@ +' Gambas class file + + Public $SECURE As Integer + Public $MYREPOPEN As Integer + +Public Sub Form_Open() + + Dim flBTN As File + Dim jBTN As Byte + Dim s$BTN As String + Dim ss$BTN As New String[] + + Dim flTTP As File + Dim jTTP As Byte + Dim s$TTP As String + Dim ss$TTP As New String[] + + $MYREPOPEN = 0 + + flBTN = Open "/usr/share/dnfdrake/dnfdrake-BTN-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flBTN) + Input #flBTN, s$BTN +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$BTN.Add(s$BTN) + Wend + Close #flBTN +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jBTN = 0 To ss$BTN.Max + BTNANNULLA.Text = ss$BTN[14] + Btnok.Text = ss$BTN[15] + Next + flBTN.Close + 'TITOLI E TOOTIP******************************************************************* + + flTTP = Open "/usr/share/dnfdrake/dnfdrake-TTP-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flTTP) + Input #flTTP, s$TTP +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$TTP.Add(s$TTP) + Wend + Close #flTTP +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jTTP = 0 To ss$TTP.Max + FPW.Text = Replace(ss$TTP[21], "_", " ") + Next + flTTP.Close +'************************************************************************************ +If Fmain.$SECUREMODE = "SECURE" Then + Fmain.Enabled = False + If FMYREPO.Visible = True Then + $MYREPOPEN = 1 + FMYREPO.Enabled = False + FMYREPO.Visible = False + FMYREPO.Timer1.Enabled = False + Endif +Endif + +If FRUN.Visible = True Then + FRUN.Close + Timer1.Enabled = False + Fmain.Enabled = False + Else + Timer1.Enabled = True + Endif + + +TXTPW.SetFocus +$SECURE = 0 +End + +Public Sub TXTPW_Activate() + + Dim sLig As String + + sLig = TXTPW.Text & gb.NewLine + TXTPW.Clear + sLig = Conv$(sLig, Desktop.Charset, System.Charset) + Print #Fmain.$hProcess, sLig; + FRUNSHOW + $SECURE = 1 + Me.Close + + +End + +Public Sub Btnok_Click() + Btnok.Enabled = False + Print #Fmain.$hProcess, TXTPW.Text & gb.NewLine; + FRUNSHOW + $SECURE = 1 + Me.Close +End + +Public Sub BTNANNULLA_Click() + If FEXCLUDELIST.Visible = True Then + FEXCLUDELIST.BTNREFRESH_click + Endif + BTNANNULLA.Enabled = False + If Fmain.$WAITSUSPEND = 1 + Fmain.$ABORT = 1 + Fmain.$WAITSUSPEND = 0 + Endif + Fmain.btnCtrlC_click + Sleep 0.1 + Fmain.btnCtrlC_click + Wait 0.3 + Fmain.Btnclear_click + Fmain.Mouse = Mouse.Default + Fmain.TMPLISTCLEAN + $SECURE = 1 + If FPW.Visible = True Then + Me.Close + Endif + +End + + + +Public Sub BTNVIEWPW_MouseDown() + +TXTPW.Password = False + +End + +Public Sub BTNVIEWPW_MouseUp() + + TXTPW.Password = True + TXTPW.SetFocus + +End + + +Public Sub TXTPW_KeyPress() +End + +Private Sub FRUNSHOW() + + 'GESTIONE FINESTRA FRUN*************************** + If $MYREPOPEN = 0 + If Fmain.$SECUREMODE = "SECURE" Then + If Fmain.$FRUNMAIN = 1 Then + FRUN.Show + Endif + Fmain.$FRUNPW = 1 + Endif + Endif +'************************************************* + +End + +Public Sub Form_Close() +If $SECURE = 1 Then + If FRUN.Visible = True Or FMYREPO.Visible = True Then + Else + If FEXCLUDELIST.Visible = False Then + Fmain.Enabled = True + Endif + Endif +Else + BTNANNULLA_Click + If FEXCLUDELIST.Visible = False Then + Fmain.Enabled = True + Endif +Endif +If Fmain.$WAITSUSPEND = 1 And If Fmain.$SECUREMODE = "SECURE" Then + Fmain.Enabled = False +Endif + +If $MYREPOPEN = 1 Then + FMYREPO.Visible = True + FMYREPO.Enabled = False + FMYREPO.Timer1.Delay = 3000 + FMYREPO.Timer1.Enabled = True + Fmain.Enabled = False +Endif + + +End + +Public Sub Timer1_Timer() +If FRUN.Visible = True Then + FRUN.Close + Endif +If Fmain.Enabled = True And Fmain.$SECUREMODE = "SECURE" Then + Fmain.Enabled = False +Endif +End diff --git a/.src/FPW.form b/.src/FPW.form new file mode 100644 index 0000000..0c7e146 --- /dev/null +++ b/.src/FPW.form @@ -0,0 +1,28 @@ +# Gambas Form File 3.0 + +{ Form Form + Move(0,0,420,105) + #Scaled = False + Icon = Picture["dnfdrake.svg"] + Resizable = False + { BTNVIEWPW Button + Move(308,14,42,28) + Picture = Picture["icon:/22/watch"] + } + { TXTPW TextBox + Move(63,14,252,28) + Alignment = Align.Center + Password = True + } + { !BTNANNULLA Button + Move(49,56,112,28) + #Public = True + } + { Btnok Button + Move(259,56,112,28) + } + { Timer1 #Timer + #Move(189,49) + Delay = 100 + } +} diff --git a/.src/FRESETSUSPEND.class b/.src/FRESETSUSPEND.class new file mode 100644 index 0000000..6ef9421 --- /dev/null +++ b/.src/FRESETSUSPEND.class @@ -0,0 +1,108 @@ +' Gambas class file + +$FRUNSTATE As Integer +$FOKSTATE As Integer + +Public Sub Form_Open() + + Dim flBTN As File + Dim jBTN As Byte + Dim s$BTN As String + Dim ss$BTN As New String[] + + Dim flTTP As File + Dim jTTP As Byte + Dim s$TTP As String + Dim ss$TTP As New String[] +'PULSANTI******************************************************************* + flBTN = Open "/usr/share/dnfdrake/dnfdrake-BTN-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flBTN) + Input #flBTN, s$BTN + ss$BTN.Add(s$BTN) + Wend + Close #flBTN + For jBTN = 0 To ss$BTN.Max + BTNNO.Text = ss$BTN[17] + BTNSI.Text = ss$BTN[16] + Next + flBTN.Close +'TITOLI E TOOTIP******************************************************************* + flTTP = Open "/usr/share/dnfdrake/dnfdrake-TTP-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flTTP) + Input #flTTP, s$TTP + ss$TTP.Add(s$TTP) + Wend + Close #flTTP + For jTTP = 0 To ss$TTP.Max + TXTMSG.Text = Replace(ss$TTP[84], "_", " ") + Next + flTTP.Close +'************************************************************************************* +' +' TXTMSG.Text = "DnfDrake ha disabilitato la sospensione la vuoi ripristinare?" + +If Fmain.$SECUREMODE = "SECURE" Then + Fmain.Enabled = False +Endif +If Fmain.$AUTOSUSPEND = 0 Then + Me.Close +Endif +If FRUN.Visible = True Then + FRUN.Visible = False + $FRUNSTATE = 1 + Else + $FRUNSTATE = 0 +Endif +If FOK.Visible = True Then + FOK.Visible = False + $FOKSTATE = 1 + Else + $FOKSTATE = 0 +Endif +End + +Public Sub Form_Close() + BTNNO_Click + Fmain.VERIFYSUSPEND + If Fmain.$CLEARLOGSUSPEND = 1 Then + Fmain.Btnclear_click + Endif + If Fmain.$ABORT = 1 Then + Fmain.Enabled = True + Endif + Fmain.$ABORT = 0 + If $FRUNSTATE = 1 Or If $FOKSTATE = 1 Then + Fmain.Enabled = False + Endif +End + +Private Sub PRIORITA() +If $FRUNSTATE = 1 Then + FRUN.Visible = True +Endif +If $FOKSTATE = 1 Then + FOK.Visible = True +Endif +End + + +Public Sub BTNSI_Click() +BTNSI.Enabled = False +Fmain.Enabled = True +Wait 0.1 +Print #Fmain.$hProcess, "sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target" & gb.NewLine; +Wait 0.1 +Fmain.$PROGRESSBARFORCESUSPEND = 1 +PRIORITA +FRESETSUSPEND.Close +End + +Public Sub BTNNO_Click() +BTNNO.Enabled = False +Fmain.Enabled = True +PRIORITA +FRESETSUSPEND.Close +End + +Public Sub TXTMSG_MouseDown() +End diff --git a/.src/FRESETSUSPEND.form b/.src/FRESETSUSPEND.form new file mode 100644 index 0000000..828b2f3 --- /dev/null +++ b/.src/FRESETSUSPEND.form @@ -0,0 +1,16 @@ +# Gambas Form File 3.0 + +{ Form Form + MoveScaled(0,0,65,15) + Icon = Picture["dnfdrake.svg"] + { TXTMSG Label + MoveScaled(2,1,61,5) + Alignment = Align.Center + } + { BTNSI Button + MoveScaled(3,9,15.7143,4) + } + { BTNNO Button + MoveScaled(46,9,15.7143,4) + } +} diff --git a/.src/FRUN.class b/.src/FRUN.class new file mode 100644 index 0000000..3d72421 --- /dev/null +++ b/.src/FRUN.class @@ -0,0 +1,85 @@ +' Gambas class file + +Public Sub Form_Open() + Dim flBTN As File + Dim jBTN As Byte + Dim s$BTN As String + Dim ss$BTN As New String[] + + If Fmain.$PROGRESSBARFORCESUSPEND = 1 Then + FRUN.ProgressBar1.Pulse = False + FRUN.ProgressBar1.Value = 1 +'Mette OK sul pulsante******************************************** + flBTN = Open "/usr/share/dnfdrake/dnfdrake-BTN-" & Fmain.$LANG For Read + While Not Eof(flBTN) + Input #flBTN, s$BTN + ss$BTN.Add(s$BTN) + Wend + Close #flBTN + For jBTN = 0 To ss$BTN.Max + BTNSTOP.Text = ss$BTN[15] + Next + flBTN.Close +'******************************************************************* + BTNSTOP.Enabled = True + FRUN.MONITORVIEW.Visible = False + FRUN.Text = "DnfDrake, " & Fmain.$FATTO + Else + Timer1.Enabled = True + ProgressBar1.Pulse = True + Fmain.txtconsole.Enabled = True + BTNSTOP.Text = Fmain.btnstop.Text + Endif + + Wait 0.2 + Fmain.Enabled = False + +End + + +Public Sub Form_Close() + + If FSINOSECURE.Visible = True Then + Else + Fmain.Enabled = True + Endif + ' If Fmain.$MEMOCOMMAND = "RECOVERSUSPEND" Then + ' Fmain.Enabled = False + ' Endif + ' +End + +Public Sub BTNSTOP_Click() +BTNSTOP.Enabled = False +Fmain.VERIFYSUSPEND +If ProgressBar1.Value = 1 Then + If Fmain.txtConsole.Visible = True Then + Endif + Fmain.TimerUPLISTE.Enabled = True + Fmain.Mouse = Mouse.Default + Fmain.TMPLISTCLEAN + Fmain.$FRUNMAIN = 0 + Me.Close + Else + Fmain.BTNSTOP_Click + Sleep 0.5 + Fmain.Btnclear_Click + Fmain.$ABORT = 1 + Fmain.$FRUNMAIN = 0 + Fmain.$CLEARLOGSUSPEND = 1 + Fmain.TMPLISTCLEAN + Me.Close +Endif +End + +Public Sub ProgressBar1_MouseDown() + +End + + +Public Sub Timer1_Timer() + BTNSTOP.Enabled = True +End +Public Sub MONITORVIEW_MouseDown() + +End diff --git a/.src/FRUN.form b/.src/FRUN.form new file mode 100644 index 0000000..ca9278f --- /dev/null +++ b/.src/FRUN.form @@ -0,0 +1,24 @@ +# Gambas Form File 3.0 + +{ Form Form + Move(0,0,609,77) + #Scaled = False + Text = ("DnfDrake, Please Wait.") & "..." + Icon = Picture["dnfdrake.svg"] + Resizable = False + { BTNSTOP Button + Move(490,18,105,28) + Enabled = False + } + { ProgressBar1 ProgressBar + Move(14,21,469,21) + } + { MONITORVIEW Label + Move(14,49,581,21) + Alignment = Align.Top + } + { Timer1 #Timer + #Move(434,7) + Delay = 4000 + } +} diff --git a/.src/FSELECTION.class b/.src/FSELECTION.class new file mode 100644 index 0000000..e9408b8 --- /dev/null +++ b/.src/FSELECTION.class @@ -0,0 +1,48 @@ +' Gambas class file + + +Public Sub Form_Open() + + FSELECTION.X = 1073 + FSELECTION.Y = 179 + +End + +Public Sub BTNANNULLA_Click() + BTNANNULLA.Enabled = False + Fmain.Mouse = Mouse.Default + Fmain.btnCtrlC_click + Sleep 0.1 + Fmain.btnCtrlC_click + Me.Close + +End + +Public Sub BTNOK_Click() + BTNOK.Enabled = False + Print #Fmain.$hProcess, TXTSELECTION.Text & gb.NewLine; + Me.Close + +End + +Public Sub TXTSELECTION_KeyPress() + +End + +Public Sub TXTSELECTION_Activate() + + Dim s As String + + s = TXTSELECTION.Text & gb.NewLine + + TXTSELECTION.Clear + + s = Conv$(s, Desktop.Charset, System.Charset) + + Print #Fmain.$hProcess, s; + Me.Close + +End + + + diff --git a/.src/FSELECTION.form b/.src/FSELECTION.form new file mode 100644 index 0000000..13aa09f --- /dev/null +++ b/.src/FSELECTION.form @@ -0,0 +1,20 @@ +# Gambas Form File 3.0 + +{ Form Form + MoveScaled(142.8571,114.2857,38,15) + Text = ("Selection") + Icon = Picture["dnfdrake.svg"] + Resizable = False + Border = False + { TXTSELECTION TextBox + MoveScaled(1,2,36,4) + } + { BTNOK Button + MoveScaled(1,8,16,4) + Text = Shortcut(("OK"), "O") + } + { BTNANNULLA Button + MoveScaled(21,8,16,4) + Text = Shortcut(("Close"), "C") + } +} diff --git a/.src/FSINO.class b/.src/FSINO.class new file mode 100644 index 0000000..6f3981d --- /dev/null +++ b/.src/FSINO.class @@ -0,0 +1,118 @@ +' Gambas class file + +'variabili di sistema + Public $SI As String + Public $NO As String + Public $SECURE As Integer + +Public Sub Form_Open() + + 'pulsanti + Dim flBTN As File + Dim jBTN As Byte + Dim s$BTN As String + Dim ss$BTN As New String[] + 'testi e tooltip + Dim flTTP As File + Dim jTTP As Byte + Dim s$TTP As String + Dim ss$TTP As New String[] + 'parole chiave + Dim flKEY As File + Dim jKEY As Byte + Dim s$KEY As String + Dim ss$KEY As New String[] + + flBTN = Open "/usr/share/dnfdrake/dnfdrake-BTN-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flBTN) + Input #flBTN, s$BTN +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$BTN.Add(s$BTN) + Wend + Close #flBTN +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jBTN = 0 To ss$BTN.Max + BTNSI.Text = ss$BTN[16] + BTNNO.Text = ss$BTN[17] + Next + flBTN.Close + +'TITOLI E TOOTIP******************************************************************* + + flTTP = Open "/usr/share/dnfdrake/dnfdrake-TTP-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flTTP) + Input #flTTP, s$TTP +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$TTP.Add(s$TTP) + Wend + Close #flTTP +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jTTP = 0 To ss$TTP.Max + FSINO.Text = Replace(ss$TTP[23], "_", " ") + Next + flTTP.Close + +'PAROLE CHIAVE******************************************************************* + + flKEY = Open "/usr/share/dnfdrake/dnfdrake-KEY-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flKEY) + Input #flKEY, s$KEY +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$KEY.Add(s$KEY) + Wend + Close #flKEY +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jKEY = 0 To ss$KEY.Max +'risposta si + $SI = Replace(ss$KEY[5], "_", " ") +'risposta no + $NO = Replace(ss$KEY[6], "_", " ") + Next + flKEY.Close + +'******************************************************************************** + + If Fmain.$SECUREMODE = "SECURE" Then + Fmain.Enabled = False + Endif + + $SECURE = 0 + BTNSI.SetFocus + +End + +Public Sub BTNSI_Click() + BTNSI.Enabled = False + Print #Fmain.$hProcess, $SI & gb.NewLine; + If Fmain.$SECUREMODE = "SECURE" Then + FRUN.Show + Endif + $SECURE = 1 + Me.Close + +End + +Public Sub BTNNO_Click() + BTNNO.Enabled = False + Print #Fmain.$hProcess, $NO & gb.NewLine; + Wait 0.5 + Fmain.Btnclear_click + Fmain.Mouse = Mouse.Default + Fmain.Enabled = True + Fmain.TMPLISTCLEAN + $SECURE = 1 + Me.Close + +End + + + +Public Sub Form_Close() +If $SECURE = 1 Then +Else + BTNNO_Click +Endif +End diff --git a/.src/FSINO.form b/.src/FSINO.form new file mode 100644 index 0000000..710a501 --- /dev/null +++ b/.src/FSINO.form @@ -0,0 +1,14 @@ +# Gambas Form File 3.0 + +{ Form Form + Move(0,0,406,84) + #Scaled = False + Icon = Picture["dnfdrake.svg"] + Resizable = False + { BTNSI Button + Move(49,28,112,28) + } + { BTNNO Button + Move(252,28,112,28) + } +} diff --git a/.src/FSINOSECURE.class b/.src/FSINOSECURE.class new file mode 100644 index 0000000..f6d1c6d --- /dev/null +++ b/.src/FSINOSECURE.class @@ -0,0 +1,185 @@ +' Gambas class file + + +'variabili di sistema + Public $SI As String + Public $NO As String + Public $SECURE As Integer +Public Sub Form_Open() + 'pulsanti + Dim flBTN As File + Dim jBTN As Byte + Dim s$BTN As String + Dim ss$BTN As New String[] + 'testi e tooltip + Dim flTTP As File + Dim jTTP As Byte + Dim s$TTP As String + Dim ss$TTP As New String[] + 'parole chiave + Dim flKEY As File + Dim jKEY As Byte + Dim s$KEY As String + Dim ss$KEY As New String[] + +'RIDIMENSIONAMENTO FINESTRA************************ + If Fmain.Width > 1366 Then + FSINOSECURE.Width = FSINOSECURE.Width * (Fmain.$RISOLUZIONEX / 1366) + FSINOSECURE.Height = FSINOSECURE.Height * (Fmain.$RISOLUZIONEY / 786) + TextArea1.Width = TextArea1.Width * (Fmain.$RISOLUZIONEX / 1366) + TextArea1.Height = TextArea1.Height * (Fmain.$RISOLUZIONEY / 786) + BTNSI.Y = BTNSI.Y + (FSINOSECURE.Height - 518) + BTNNO.X = BTNNO.X + (FSINOSECURE.Width - 889) + BTNNO.Y = BTNNO.Y + (FSINOSECURE.Height - 518) +Endif +'************************************************** + flBTN = Open "/usr/share/dnfdrake/dnfdrake-BTN-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flBTN) + Input #flBTN, s$BTN +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$BTN.Add(s$BTN) + Wend + Close #flBTN +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jBTN = 0 To ss$BTN.Max + BTNSI.Text = ss$BTN[16] + BTNNO.Text = ss$BTN[17] + Next + flBTN.Close + +'TITOLI E TOOTIP******************************************************************* + flTTP = Open "/usr/share/dnfdrake/dnfdrake-TTP-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flTTP) + Input #flTTP, s$TTP +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$TTP.Add(s$TTP) + Wend + Close #flTTP +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jTTP = 0 To ss$TTP.Max + FSINO.Text = Replace(ss$TTP[23], "_", " ") + Next + flTTP.Close + +'PAROLE CHIAVE******************************************************************* + flKEY = Open "/usr/share/dnfdrake/dnfdrake-KEY-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flKEY) + Input #flKEY, s$KEY +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$KEY.Add(s$KEY) + Wend + Close #flKEY +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jKEY = 0 To ss$KEY.Max +'risposta si + $SI = Replace(ss$KEY[5], "_", " ") +'risposta no + $NO = Replace(ss$KEY[6], "_", " ") + Next + flKEY.Close + '********************************************************************************* + If FRUN.Visible = True Then + FRUN.Close + Endif + If FERROR.Visible = True Then + FERROR.Close + Endif + Fmain.Enabled = False + BTNSI.Enabled = False + BTNNO.Enabled = False + Timer1.Enabled = True + $SECURE = 0 +End + +Public Sub BTNSI_Click() + BTNSI.Enabled = False + Print #Fmain.$hProcess, $SI & gb.NewLine; + If Fmain.$SECUREMODE = "SECURE" Then + FRUN.Show + Endif + $SECURE = 1 + Me.Close + +End + +Public Sub BTNNO_Click() +BTNNO.Enabled = False +If $SECURE = 0 Then + Print #Fmain.$hProcess, $NO & gb.NewLine; + Wait 0.5 + Fmain.Btnclear_click + Fmain.Mouse = Mouse.Default + Fmain.TMPLISTCLEAN + Fmain.Enabled = True + $SECURE = 1 + Me.Close +Endif + +End + +Public Sub Form_Close() +If $SECURE = 1 Then +Else + BTNNO_Click +Endif +If Fmain.$AUTOSUSPEND = 1 Then + Fmain.$CLEARLOGSUSPEND = 1 +Endif + +End + +Public Sub TextArea1_KeyPress() +End + +Public Sub LOADTEXT() +'********SOSTITUITO CON NUOVA FUNZIONE CHE AZZERA I TEMPI DI ATTESA +' Dim fl As File +' Dim s$ As String +' Dim x As Integer +' Me.Mouse = Mouse.Wait +' 'caricamento elenco pacchetti da installare/rimuovere (MODIFICATO CON FILE.LOAD PER VELOCIZZARE IL CARICAMENTO IN FSINOSECURE)*********** +' fl = Open User.Home &/ ".config/dnfdrake/log/last.log" For Read ' ...oppure "Input" +' 's$ = File.Load(User.Home &/ ".config/dnfdrake/log/last.log") +' ' ' Compie il ciclo fin tanto che non è giunto alla fine del file: +' While Not Eof(fl) +' ' ' "Line Input" legge le stringhe in un File di testo fino al carattere di "nuova linea a capo": +' +' Line Input #fl, s$ +' If x = 0 And If InStr(s$, "=") Then +' x = 1 +' TextArea1.Text = "" +' Endif +' If x = 1 Then +' TextArea1.Text = TextArea1.Text & s$ & "\n" +' Wait 0.00001 +' Endif +' ' ' Mostra il contenuto della variabile s$ in una "TextArea": +' ' TextArea1.Text = s$ & "\n" 'da usare con file.load +' Wend +' x = 0 +' Me.Mouse = Mouse.Default +' fl.Close +' BTNSI.Enabled = True +' BTNNO.Enabled = True +' BTNSI.SetFocus +'******************************************************************************************************************* + Me.Mouse = Mouse.Wait + Shell "cat " & Fmain.$PATHLOG & "/last.log" & " | sed -n '/=/,/*/p'" To TextArea1.Text + Me.Mouse = Mouse.Default + + BTNSI.Enabled = True + BTNNO.Enabled = True + BTNSI.SetFocus + + +End + +Public Sub Timer1_Timer() + LOADTEXT + Timer1.Enabled = False + +End + diff --git a/.src/FSINOSECURE.form b/.src/FSINOSECURE.form new file mode 100644 index 0000000..30cf920 --- /dev/null +++ b/.src/FSINOSECURE.form @@ -0,0 +1,22 @@ +# Gambas Form File 3.0 + +{ Form Form + MoveScaled(0,0,127,74) + Icon = Picture["dnfdrake.svg"] + Resizable = False + { BTNSI Button + MoveScaled(7,69,16,4) + } + { BTNNO Button + MoveScaled(104,69,16,4) + } + { TextArea1 TextArea + MoveScaled(1,1,125,67) + Font = Font["Monospace"] + } + { Timer1 #Timer + #MoveScaled(60,65) + Enabled = True + Delay = 10 + } +} diff --git a/.src/FTEMPPKGLIST.class b/.src/FTEMPPKGLIST.class new file mode 100644 index 0000000..d1e88e9 --- /dev/null +++ b/.src/FTEMPPKGLIST.class @@ -0,0 +1,203 @@ +' Gambas class file + + +Public Sub Form_Open() + Dim s As String + Dim t As Stream + Dim p As Integer + + FTEMPPKGLIST.Text = Fmain.TXTPKGLISTNOME.Text + + 'TITOLI E TOOTIP******************************************************************* + Dim flTTP As File + Dim jTTP As Byte + Dim s$TTP As String + Dim ss$TTP As New String[] + + flTTP = Open "/usr/share/dnfdrake/dnfdrake-TTP-" & Fmain.$LANG For Read ' ...oppure "Input" + While Not Eof(flTTP) + Input #flTTP, s$TTP + ss$TTP.Add(s$TTP) + Wend + Close #flTTP + For jTTP = 0 To ss$TTP.Max + + BTNAPPLY.Tooltip = Replace(ss$TTP[55], "_", " ") + BTNREFRESH.Tooltip = Replace(ss$TTP[56], "_", " ") + BTNSAVEAS.Tooltip = Replace(ss$TTP[57], "_", " ") + BTNCLOSE.Tooltip = Replace(ss$TTP[4], "_", " ") + Next + flTTP.Close + '********************************************************************************* + Me.Mouse = Mouse.Wait + If Fmain.TXTPKGLISTNOME.Text = "Remove Package List" Then + t = Open User.Home &/ ".config/dnfdrake/log/rempkglist.txt" + For Each s In t.Lines + If InStr(s, ".x86_64") Or InStr(s, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr(s, ".i686") Then + p = p + LSTPKG.Count + LSTPKG.add(p, s) + If Fmain.$COLORTEXT = "color" + LSTPKG[p].Foreground = &H0038D079 + Endif + Endif + Next + Else If Fmain.TXTPKGLISTNOME.Text = "Install Package List" + t = Open User.Home &/ ".config/dnfdrake/log/addpkglist.txt" + For Each s In t.Lines + If InStr(s, ".x86_64") Or InStr(s, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr(s, ".i686") Then + p = p + LSTPKG.Count + LSTPKG.add(p, s) + If Fmain.$COLORTEXT = "color" + LSTPKG[p].Foreground = &H00F47E59 + Endif + Endif + Next + Else If Fmain.TXTPKGLISTNOME.Text = "Update Package List" + t = Open User.Home &/ ".config/dnfdrake/log/updpkglist.txt" + For Each s In t.Lines + If InStr(s, ".x86_64") Or InStr(s, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr(s, ".i686") Then + p = p + LSTPKG.Count + LSTPKG.add(p, s) + If Fmain.$COLORTEXT = "color" + LSTPKG[p].Foreground = &H0033A0D9 + Endif + Endif + Next + Endif + LSTPKG.SelectAll + Me.Mouse = Mouse.Default +End + +Public Sub BTNCLOSE_Click() + BTNCLOSE.Enabled = False + If LSTPKG.Count = 0 Then + Fmain.TXTPKGLISTNOME.Text = "None" + Endif ' + + Me.Close + +End + + +Public Sub BTNAPPLY_Click() +'ELIMINATO PER UTILIZZARE IL REFRESH ******************************************************************* + ' Dim a As String + ' Dim s As String + ' + ' If FTEMPPKGLIST.Text = "Remove Package List" Then + ' Shell "echo > " & User.Home &/ ".config/dnfdrake/log/rempkglist.txt" Wait + ' For Each a In LSTPKG.Selection + ' s = LSTPKG[a].Text + ' Shell "echo " & s & " >> " & User.Home &/ ".config/dnfdrake/log/rempkglist.txt" Wait + ' Next + ' + ' Else If FTEMPPKGLIST.Text = "Install Package List" + ' Shell "echo > " & User.Home &/ ".config/dnfdrake/log/addpkglist.txt" Wait + ' For Each a In LSTPKG.Selection + ' s = LSTPKG[a].Text + ' Shell "echo " & s & " >> " & User.Home &/ ".config/dnfdrake/log/addpkglist.txt" Wait + ' Next + ' + ' Else If FTEMPPKGLIST.Text = "Update Package List" + ' Shell "echo > " & User.Home &/ ".config/dnfdrake/log/updpkglist.txt" Wait + ' For Each a In LSTPKG.Selection + ' s = LSTPKG[a].Text + ' Shell "echo " & s & " >> " & User.Home &/ ".config/dnfdrake/log/addpkglist.txt" Wait + ' Next + ' + ' Endif +'********************************************************************************************************* + BTNREFRESH_Click + If LSTPKG.Count = 0 Then + Fmain.TXTPKGLISTNOME.Text = "None" + Endif ' + BTNCLOSE_Click +End + + + +Public Sub BTNSAVEAS_Click() + ' Dialog.Title = Fmain.$DIALOGDIRTITLE + Dialog.Path = Fmain.$pathdir 'IMPOSTA LA FINESTRA IN CUI SALVARE LA LISTA + + + Dialog.Filter = ["*.txt", "Text Files"] + If Dialog.SaveFile() Then Return + Fmain.$pathdir = Replace(Dialog.Path, " ", Chr$(92) & " ") ' serve agestire percorsi con gli spazi + If FTEMPPKGLIST.Text = "Remove Package List" Then + Shell "cp " & User.Home &/ ".config/dnfdrake/log/rempkglist.txt " & Dialog.Path Wait + Else If FTEMPPKGLIST.Text = "Install Package List" + Shell "cp " & User.Home &/ ".config/dnfdrake/log/addpkglist.txt " & Dialog.Path Wait + Else If FTEMPPKGLIST.Text = "Update Package List" + Shell "cp " & User.Home &/ ".config/dnfdrake/log/updpkglist.txt " & Dialog.Path Wait + Endif + Catch + Message.Info("Si è verificato un errore!", "Ok") +End + +Public Sub BTNREFRESH_Click() + + Dim a As String + Dim s As String + Dim r As String + Dim t As Stream + Dim p As Integer + If FTEMPPKGLIST.Text = "Remove Package List" Then + Shell "echo > " & User.Home &/ ".config/dnfdrake/log/rempkglist.txt" Wait + For Each a In LSTPKG.Selection + s = LSTPKG[a].Text + Shell "echo " & s & " >> " & User.Home &/ ".config/dnfdrake/log/rempkglist.txt" Wait + Next + LSTPKG.UnSelectAll + LSTPKG.Clear + t = Open User.Home &/ ".config/dnfdrake/log/rempkglist.txt" + For Each r In t.Lines + If InStr(r, ".x86_64") Or InStr(r, ".noarch") Or InStr(r, ".znver1") Or InStr(r, ".aarch64") Or InStr(r, ".i686") Then + p = p + LSTPKG.Count + LSTPKG.add(p, r) + If Fmain.$COLORTEXT = "color" + LSTPKG[p].Foreground = &H0038D079 + Endif + Endif + Next + LSTPKG.SelectAll + Else If FTEMPPKGLIST.Text = "Install Package List" + Shell "echo > " & User.Home &/ ".config/dnfdrake/log/addpkglist.txt" Wait + For Each a In LSTPKG.Selection + s = LSTPKG[a].Text + Shell "echo " & s & " >> " & User.Home &/ ".config/dnfdrake/log/addpkglist.txt" Wait + Next + LSTPKG.UnSelectAll + LSTPKG.Clear + t = Open User.Home &/ ".config/dnfdrake/log/addpkglist.txt" + For Each r In t.Lines + If InStr(r, ".x86_64") Or InStr(r, ".noarch") Or InStr(r, ".znver1") Or InStr(r, ".aarch64") Or InStr(r, ".i686") Then + p = p + LSTPKG.Count + LSTPKG.add(p, r) + If Fmain.$COLORTEXT = "color" + LSTPKG[p].Foreground = &H00F47E59 + Endif + Endif + Next + LSTPKG.SelectAll + Else If FTEMPPKGLIST.Text = "Update Package List" + Shell "echo > " & User.Home &/ ".config/dnfdrake/log/updpkglist.txt" Wait + For Each a In LSTPKG.Selection + s = LSTPKG[a].Text + Shell "echo " & s & " >> " & User.Home &/ ".config/dnfdrake/log/updpkglist.txt" Wait + Next + LSTPKG.UnSelectAll + LSTPKG.Clear + t = Open User.Home &/ ".config/dnfdrake/log/updpkglist.txt" + For Each r In t.Lines + If InStr(r, ".x86_64") Or InStr(r, ".noarch") Or InStr(r, ".znver1") Or InStr(r, ".aarch64") Or InStr(r, ".i686") Then + p = p + LSTPKG.Count + LSTPKG.add(p, r) + If Fmain.$COLORTEXT = "color" + LSTPKG[p].Foreground = &H0033A0D9 + Endif + Endif + Next + LSTPKG.SelectAll + Endif +End diff --git a/.src/FTEMPPKGLIST.form b/.src/FTEMPPKGLIST.form new file mode 100644 index 0000000..57fc9e9 --- /dev/null +++ b/.src/FTEMPPKGLIST.form @@ -0,0 +1,29 @@ +# Gambas Form File 3.0 + +{ Form Form + MoveScaled(0,0,83,92) + Icon = Picture["dnfdrake.svg"] + Resizable = False + { LSTPKG ListView + MoveScaled(3,3,77,81) + Font = Font["Monospace"] + Mode = Select.Multiple + ShowCheck = True + } + { BTNCLOSE Button + MoveScaled(61,86,15.7143,4) + Picture = Picture["icon:/16/close"] + } + { BTNAPPLY Button + MoveScaled(6,86,15.7143,4) + Picture = Picture["icon:/16/ok"] + } + { BTNREFRESH Button + MoveScaled(24,86,15.7143,4) + Picture = Picture["icon:/16/refresh"] + } + { BTNSAVEAS Button + MoveScaled(43,86,15.7143,4) + Picture = Picture["icon:/16/save-as"] + } +} diff --git a/.src/FUPDATERESUME.class b/.src/FUPDATERESUME.class new file mode 100644 index 0000000..35f1858 --- /dev/null +++ b/.src/FUPDATERESUME.class @@ -0,0 +1,106 @@ +' Gambas class file + +' Gambas class file +Public $SECURE As Integer + +Public Sub Form_Open() + + If Fmain.$SECUREMODE = "SECURE" Then + Fmain.Enabled = False + Endif + If Fmain.BTNDISTUPDATE.Visible = True Then + FUPDATERESUME.Text = "DnfDrake Distro Sync" + Else + FUPDATERESUME.Text = "DnfDrake Distro Update" + Endif + $SECURE = 0 +End + +Private Sub FRUNSHOW() + + 'GESTIONE FINESTRA FRUN*************************** +If Fmain.$SECUREMODE = "SECURE" Then + If Fmain.$FRUNPW = 1 Then + FRUN.Show + Endif + Fmain.$FRUNMAIN = 1 +Endif +'************************************************* + +End + +Public Sub BTNRESUME_Click() + BTNRESUME.Enabled = False + Fmain.Mouse = Mouse.Wait + If Fmain.BTNDISTUPDATE.Visible = True + If Fmain.$LOG = "NOLOG" + Print #Fmain.$hProcess, "sudo dnf --refresh --allowerasing distro-sync" & Fmain.$VERBOSE & gb.NewLine; + FRUNSHOW + Endif + If Fmain.$LOG = "LOG" Then + Fmain.DATATIME + Print #Fmain.$hProcess, "sudo dnf --refresh --allowerasing distro-sync | tee " & User.Home & "/.config/dnfdrake/log/" & Fmain.$DATATIME & "-dnfdrakelog-sync.log " & User.Home & "/.config/dnfdrake/log/last.log" & gb.NewLine; + FRUNSHOW + Endif + Else + If Fmain.$LOG = "NOLOG" + Print #Fmain.$hProcess, "sudo dnf --refresh upgrade" & Fmain.$VERBOSE & gb.NewLine; + FRUNSHOW + Endif + If Fmain.$LOG = "LOG" Then + Fmain.DATATIME + Print #Fmain.$hProcess, "sudo dnf --refresh upgrade " & "| tee " & User.Home & "/.config/dnfdrake/log/" & Fmain.$DATATIME & "-dnfdrakelog-update.log " & User.Home & "/.config/dnfdrake/log/last.log" & gb.NewLine; + FRUNSHOW + Endif + + Endif + $SECURE = 1 + Me.Close +End + +Public Sub BTNREUPADTE_Click() + BTNREUPADTE.Enabled = False + Fmain.Mouse = Mouse.Wait + If Fmain.BTNDISTUPDATE.Visible = True + If Fmain.$LOG = "NOLOG" + Print #Fmain.$hProcess, "sudo dnf clean all; dnf clean all; dnf repolist; sudo dnf --refresh --allowerasing distro-sync" & Fmain.$VERBOSE & gb.NewLine; + FRUNSHOW + Endif + If Fmain.$LOG = "LOG" Then + Fmain.DATATIME + Print #Fmain.$hProcess, "sudo dnf clean all; dnf clean all; dnf repolist; sudo dnf --refresh --allowerasing distro-sync | tee " & User.Home & "/.config/dnfdrake/log/last.log" & Fmain.$DATATIME & "-dnfdrakelog-sync.log " & User.Home & "/.config/dnfdrake/log/last.log" & gb.NewLine; + FRUNSHOW + Endif + Else + If Fmain.$LOG = "NOLOG" + Print #Fmain.$hProcess, Fmain.$UPDATE & Fmain.$VERBOSE & gb.NewLine; + FRUNSHOW + Endif + If Fmain.$LOG = "LOG" Then + Fmain.DATATIME + Print #Fmain.$hProcess, Fmain.$UPDATE & "| tee " & User.Home & "/.config/dnfdrake/log/" & Fmain.$DATATIME & "-dnfdrakelog-update.log " & User.Home & "/.config/dnfdrake/log/last.log" & gb.NewLine; + FRUNSHOW + Endif + Endif + $SECURE = 1 + Me.Close +End + +Public Sub BTNANNULLA_Click() +BTNANNULLA.Enabled = False +Fmain.Mouse = Mouse.Default +Fmain.Enabled = True +$SECURE = 1 +Me.Close + +End + +Public Sub Form_Close() + If $SECURE = 1 Then +Else + BTNANNULLA_Click +Endif + + +End + diff --git a/.src/FUPDATERESUME.form b/.src/FUPDATERESUME.form new file mode 100644 index 0000000..16a21ee --- /dev/null +++ b/.src/FUPDATERESUME.form @@ -0,0 +1,24 @@ +# Gambas Form File 3.0 + +{ Form Form + MoveScaled(0,0,68,13) + Icon = Picture["dnfdrake.svg"] + Resizable = False + { Label1 Label + MoveScaled(3,1,62,5) + Alignment = Align.Center + Text = ("DnfDrake detected a previous update session, what do you want to do?") + } + { BTNRESUME Button + MoveScaled(3,7,16,4) + Text = ("Resume") + } + { BTNREUPADTE Button + MoveScaled(26,7,16,4) + Text = ("Reupdate") + } + { BTNANNULLA Button + MoveScaled(48,7,16,4) + Text = ("Close") + } +} diff --git a/.src/Fmain.class b/.src/Fmain.class new file mode 100644 index 0000000..95ec616 --- /dev/null +++ b/.src/Fmain.class @@ -0,0 +1,3754 @@ +' Gambas class file + +'VARIABILI DI SISTEMA******************************************************************************** +Public $hProcess As Process +Public $sText As String +Public $STATUS As Integer +Public $MEMOCOMMAND As String +Public $MEMOEXEC As String +Public $INSTALL As String +Public $UNINSTALL As String +Public $UPDATE As String +Public $PKGUPDATE As String +Public $DOWNGRADE As String +Public $REINSTALL As String +Public $CUSTOMCMD As String +Public $CHKERROR As Integer +Public $ListpkgWR As Integer +Public $ListpkgCK As Integer +Public $OFFLINE As Integer +Public $pathdir As String +Public $PATHLOG As String +Public $COLORTEXT As String +Public $NOTPACKAGES As String +Public $DNFDRAKEASK As String +Public $RPMPATH As String +Public $LOG As String +Public $VERBOSE As String +Public $PRINTLOG As Integer +Public $DATATIME As String +Public $SECUREMODE As String +Public $FRUNMAIN As Integer +Public $FRUNPW As Integer +Public $INFOENABLED As Integer +Public $INFOTEXT As String +Public $HBOX1TOOLTIP As String +Public $CASE As Integer +Public $LANG As String +Public $templang As String +Public $EXCLUDE As String +Public $AUTOREMOVETEXT As String +Public $CMBTOOLTIP As String +Public $RISOLUZIONE As String +Public $RISOLUZIONEX As Integer +Public $RISOLUZIONEY As Integer +Public $KILL As Integer +Public $SUSPENDONTTP As String +Public $SUSPENDOFFTTP As String +Public $WAITSUSPEND As Integer +Public $ABORT As Integer +Public $COUNTRECOVERSUSPEND As Integer +Public $AUTOSUSPEND As Integer +Public $CLEARLOGSUSPEND As Integer +Public $PROGRESSBARFORCESUSPEND As Integer +Public $COUNTBTNCLOSE As Integer +Public $CLOSEPASS As Integer +Public $SI As String +Public $NO As String +Public $ASKEXIT As String +'VARIABILI EXTRA OPTIONS***************************************************************************** +Public $SEARCH As String +'PAROLE CHIAVE LETTURA STRINGA*********************************************************************** +Public $PASSWORD As String +Public $RQSTPASSWORD As String +Public $PROCEDERE As String +'Public $RIMOSSI As String +Public $FATTO As String +Public $NONRIUSCITO As String +Public $DIALOGDIRTITLE As String +Public $DIALOGFILETITLE As String +Public $SELECTPKG As String +Public $CERCAFILE As String +Public $TXTRUN As String + + +Public Sub Form_Open() +'COMANDI + Dim flCMD As File + Dim jCMD As Byte + Dim s$CMD As String + Dim ss$CMD As New String[] +'pulsanti + Dim flBTN As File + Dim jBTN As Byte + Dim s$BTN As String + Dim ss$BTN As New String[] +'parole chiave + Dim flKEY As File + Dim jKEY As Byte + Dim s$KEY As String + Dim ss$KEY As New String[] +'testi e tooltip + Dim flTTP As File + Dim jTTP As Byte + Dim s$TTP As String + Dim ss$TTP As New String[] +'combox tipo pacchetto installato non installato ecc. + Dim flCMBT As File + Dim jCMBT As Byte + Dim s$CMBT As String + Dim ss$CMBT As New String[] +'combox tipo info. + Dim flCMBI As File + Dim jCMBI As Byte + Dim s$CMBI As String + Dim ss$CMBI As New String[] + 'CONTROLLO DISTROSYNC + Dim flDSTSYNC As File + Dim jDSTSYNC As Byte + Dim s$DSTSYNC As String + Dim ss$DSTSYNC As New String[] + + 'VERIFICA CHE DNFDRAKE NON SIA GIA IN ESECUZIONE + Dim $LOCK As String + Dim $LOCKVAL As Integer + Shell "ps aux | grep gbr3 | grep -w dnfdrake.gambas | wc -l" Wait To $LOCK + $LOCKVAL = CInteger(Val(Right(Left($LOCK)))) + If $LOCKVAL > 2 Then + Message.Info("Please don't run multiple session of DnfDrake!", "OK") + Quit + Endif + +'IMPOSTA LA DIMENSIONE DELLA FINESTRA IN BASE ALLA RISOLUZIONE DELLO SCHERMO + Shell "xrandr --current |grep '*'" To $RISOLUZIONE + $RISOLUZIONEX = Val(Str(Right(Left($risoluzione, 7), 4))) + $RISOLUZIONEY = Val(Str(Right(Left($risoluzione, 12), 4))) + RESOLUTION + +'VERIFICA SU QUALE SISTEMA È IN ESECUZIONE + Dim $DISTRO As String + +'********************************************************************************** + 'SERVE PER CHIUDERE TUTTE LE FINESTRE DEL PROGRAMMA APERTE ALL'USCITA************** + + Application.MainWindow = Me + + 'Avvio il processo***************************************************************** + + $hProcess = Exec ["sh", "--noediting"] For Input Output As "Process" + +'********************************************************************************** + + 'controllo esistenza delle directory del programma*************************************************** + If Not Exist(User.Home &/ ".config/dnfdrake/") Then + Mkdir User.Home &/ "/.config/dnfdrake/" + Endif + If Not Exist(User.Home &/ ".config/dnfdrake/log") Then + Mkdir User.Home &/ "/.config/dnfdrake/log" + Endif + '*********************************************************************************************** + +'lettura della lingua di sistema e gestione test nuove lingue************************ +'SE SI STA TESTANDO UNA LINGUA ESEGUE QUESTO***************************************** + If txtlang.Text = "**" + txtlang.Text = Right($LANG, 2) + Print #$hProcess, "LANG=" & $templang & ".UTF-8" & gb.NewLine; + Wait 0.1 + Print #$hProcess, "LANGUAGE=" & $templang & ".UTF-8" & gb.NewLine; + Wait 0.1 + Print #$hProcess, "LC_COLLATE=C" & gb.NewLine; + Wait 0.1 + Print #$hProcess, "LC_CTYPE=" & $templang & ".UTF-8" & gb.NewLine; + Wait 0.5 + txtConsole.Text = "" + Else + ' SE NON CI SONO LINGUE IN TEST CARICA LA LINGUA DI SISTEMA DA USARE**************** + txtlang.Text = Left(Right(System.Language, -3), 2) + $LANG = Left(System.Language, 5) + Endif +'SERVE PER TESTARE ALTRE LINGUE - SOSTITUITO DA MACIGLANG E RELOADLANG++++++++++++++++ + + 'txtlang.Text = "CA" + '$lang = "es_CA" + + +'MODIFICA LINGUA++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +' + If $LANG = "it_IT" Or $LANG = "fr_FR" Or $LANG = "en_US" Or $LANG = "pl_PL" Or $LANG = "en_GB" Or $LANG = "br_BR" Or $LANG = "es_ES" Or $LANG = "de_DE" Or $LANG = "ca_ES" Or $LANG = $templang 'AGGIUNGERE |Or $LANG = "xx_XX"| PER TESTARE ALTRE LINGUE++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +'SERVE PER TESTARE ALTRE LINGUE - SOSTITUITO DA MACIGLANG E RELOADLANG+++++++++++++++ + + ' Print #$hProcess, "LANG=es_CA.UTF-8" & gb.NewLine; + ' Wait 0.1 + ' Print #$hProcess, "LANGUAGE=es_CA.UTF-8" & gb.NewLine; + ' Wait 0.1 + ' Print #$hProcess, "LC_COLLATE=C" & gb.NewLine; + ' Wait 0.1 + ' Print #$hProcess, "LC_CTYPE=es_CA.UTF-8" & gb.NewLine; +'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Else + txtlang.Text = "US" + $LANG = "en_US" + Print #$hProcess, "LANG=en_US.UTF-8" & gb.NewLine; + Wait 0.1 + Print #$hProcess, "LANGUAGE=en_US.UTF-8" & gb.NewLine; + Wait 0.1 + Print #$hProcess, "LC_COLLATE=C" & gb.NewLine; + Wait 0.1 + Print #$hProcess, "LC_CTYPE=en_US.UTF-8" & gb.NewLine; + Message.Info("Your language is unavailable.The interface will change to fallback EN-US", "OK") + + Endif +'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +'VERIFICA SE IMPOSTATO AGGIORNAMENTO ROCK O ROLLING****************** + 'CONTROLLO PRESENZA ABILITAZIONE VECCHIO DISTROSYNC E CORREZIONE IN NUOVO FORMARTO + If Exist(User.Home &/ ".config/dnfdrake/distrosync") Then + Shell "cat " & User.Home &/ ".config/dnfdrake/distrosync" To $DISTRO + ' Sleep 0.1 + If $DISTRO = "" + Shell "echo 1 > " & User.Home &/ ".config/dnfdrake/distrosync" Wait + Endif + Endif + + ' IMPOSTA IL DISTROSYNC DI DEFAULT SE SI USA ROME o COCKER DI OMA*********************** + If Not Exist(User.Home &/ ".config/dnfdrake/distrosync") Then + Shell "lsb_release -c" To $DISTRO + If InStr($DISTRO, "ROME", 0, gb.IgnoreCase) Or If InStr($DISTRO, "Nickel", 0, gb.IgnoreCase) Then + Shell "echo 1 > " & User.Home &/ ".config/dnfdrake/distrosync" Wait + Else + Shell "echo 0 > " & User.Home &/ ".config/dnfdrake/distrosync" Wait + Endif + Endif + ' + 'VERIFICA QUALE TIPO DI AGGIORNAMENTO USARE + + flDSTSYNC = Open User.Home &/ ".config/dnfdrake/distrosync" For Read ' ...oppure "Input" + While Not Eof(flDSTSYNC) + Input #flDSTSYNC, s$DSTSYNC + ss$DSTSYNC.Add(s$DSTSYNC) + Wend + Close #flDSTSYNC + For jDSTSYNC = 0 To ss$DSTSYNC.Max + If ss$DSTSYNC[0] = "1" + BTNDISTUPDATE.Visible = True + PICBTNDISTUPDATE.Visible = True + Else + BTNDISTUPDATE.Visible = False + PICBTNDISTUPDATE.Visible = False + Endif + Next + flDSTSYNC.Close + +' 'VECCHIA VERFIFICA BASATA SULLA SOLA PRESENZA DEL FILE +' If Exist(User.Home &/ ".config/dnfdrake/distrosync") Then +' BTNDISTUPDATE.Visible = True +' PICBTNDISTUPDATE.Visible = True +' Else +' BTNDISTUPDATE.Visible = False +' PICBTNDISTUPDATE.Visible = False +' Endif + + + +'VERIFICA SE È STATA BLOCCATA LA SOSPENSIONE IN UNA SESSIONE PRECEDENTE********************************* +VERIFYSUSPEND + +'CARICA I COMANDI******************************************************* + +If Not Exist(User.Home &/ ".config/dnfdrake/dnfdrake-COMMAND") Then +flCMD = Open "/usr/share/dnfdrake/dnfdrake-COMMAND" For Read +Else + flCMD = Open User.Home &/ ".config/dnfdrake/dnfdrake-COMMAND" For Read + Endif + While Not Eof(flCMD) + Input #flCMD, s$CMD +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$CMD.Add(s$CMD) + Wend +' + Close #flCMD +' +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jCMD = 0 To ss$CMD.Max + + + $INSTALL = Replace(ss$CMD[0], "_", " ") + $UNINSTALL = Replace(ss$CMD[1], "_", " ") + $UPDATE = Replace(ss$CMD[2], "_", " ") + + + ' GESTIONE ERRORE DA ELIMINARE TRA 10 VERSIONI (1.10.1) + Try $PKGUPDATE = Replace(ss$CMD[3], "_", " ") + If Error Then + Shell "rm -f " & User.Home &/ ".config/dnfdrake/dnfdrake-COMMAND" + Message.Delete("The default configuration had to be restored. Please restart DnfDrake!", "OK") + Endif + + Try $DOWNGRADE = Replace(ss$CMD[4], "_", " ") + If Error Then + Shell "rm -f " & User.Home &/ ".config/dnfdrake/dnfdrake-COMMAND" + Message.Delete("The default configuration had to be restored. Please restart DnfDrake!", "OK") + Endif + + Try $CUSTOMCMD = Replace(ss$CMD[5], "_", " ") + If Error Then + Shell "rm -f " & User.Home &/ ".config/dnfdrake/dnfdrake-COMMAND" + Message.Delete("The default configuration had to be restored. Please restart DnfDrake!", "OK") + Endif + + Try $COLORTEXT = Replace(ss$CMD[6], "_", " ") + If Error Then + Shell "rm -f " & User.Home &/ ".config/dnfdrake/dnfdrake-COMMAND" + Message.Delete("The default configuration had to be restored. Please restart DnfDrake!", "OK") + Endif + + Try $REINSTALL = Replace(ss$CMD[7], "_", " ") + If Error Then + Shell "rm -f " & User.Home &/ ".config/dnfdrake/dnfdrake-COMMAND" + Message.Delete("The default configuration had to be restored. Please restart DnfDrake!", "OK") + Endif + + Try $LOG = Replace(ss$CMD[8], "_", " ") + If Error Then + Shell "rm -f " & User.Home &/ ".config/dnfdrake/dnfdrake-COMMAND" + Message.Delete("The default configuration had to be restored. Please restart DnfDrake!", "OK") + Endif + + Try $SECUREMODE = Replace(ss$CMD[9], "_", " ") + If Error Then + Shell "rm -f " & User.Home &/ ".config/dnfdrake/dnfdrake-COMMAND" + Message.Delete("The default configuration had to be restored. Please restart DnfDrake!", "OK") + Endif + + '**************************************************** + Next +' + flCMD.Close + +'Carica i file linguistici***************************************************************************** + +'PULSANTI*********************************************************** + + flBTN = Open "/usr/share/dnfdrake/dnfdrake-BTN-" & $LANG For Read ' ...oppure "Input" + + + While Not Eof(flBTN) + Input #flBTN, s$BTN +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$BTN.Add(s$BTN) + Wend +' + Close #flBTN +' +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jBTN = 0 To ss$BTN.Max + + + btninstall.Text = Replace(ss$BTN[0], "_", " ") + btnremove.Text = Replace(ss$BTN[1], "_", " ") + btnupdate.Text = Replace(ss$BTN[2], "_", " ") + Btndownload.Text = Replace(ss$BTN[3], "_", " ") + btninfo.Text = Replace(ss$BTN[4], "_", " ") + Btnclose.Text = Replace(ss$BTN[5], "_", " ") + btncerca.Text = Replace(ss$BTN[6], "_", " ") +'CORREZIONE PER FIX RELOADLANG************************************ + If txtCommand.Visible = False Then + Btncommand.Text = Replace(ss$BTN[7], "_", " ") + Else + Btncommand.Text = Replace(ss$BTN[7], "_", " ") & " ^" + Endif +'***************************************************************** + Btncrono.Text = Replace(ss$BTN[8], "_", " ") + Btnclear.Text = Replace(ss$BTN[9], "_", " ") + btnstop.Text = Replace(ss$BTN[10], "_", " ") + BtnCFG.Text = Replace(ss$BTN[11], "_", " ") + BTNABOUT.text = Replace(ss$BTN[12], "_", " ") + btnpkg.Text = Replace(ss$BTN[13], "_", " ") + $SI = Replace(ss$BTN[16], "_", " ") + $NO = Replace(ss$BTN[17], "_", " ") + BTNPICKER.Text = Replace(ss$BTN[18], "_", " ") + BTNPKGUPDATE.Text = Replace(ss$BTN[19], "_", " ") + BTNDOWNDGRADE.Text = Replace(ss$BTN[20], "_", " ") + BTNEXTRA.Text = Replace(ss$BTN[21], "_", " ") + BTNVERSLOCK.Text = Replace(ss$BTN[22], "_", " ") + BTNREINSTALL.Text = Replace(ss$BTN[23], "_", " ") + Next +' + flBTN.Close +'******************************************************************************** + +'PAROLE CHIAVE******************************************************************* + + flKEY = Open "/usr/share/dnfdrake/dnfdrake-KEY-" & $LANG For Read ' ...oppure "Input" + + + While Not Eof(flKEY) + Input #flKEY, s$KEY +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$KEY.Add(s$KEY) + Wend +' + Close #flKEY +' +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jKEY = 0 To ss$KEY.Max + +'richiesta password + $PASSWORD = ss$KEY[0] + $PASSWORD = Replace($PASSWORD, "_", " ") +'operazione annullata se è richiesta password + $RQSTPASSWORD = ss$KEY[1] + $RQSTPASSWORD = Replace($RQSTPASSWORD, "_", " ") +'PROCEDERE AD INSTALLARE + $PROCEDERE = ss$KEY[2] + $PROCEDERE = Replace($PROCEDERE, "_", " ") +' USATO DA DNFDRAKETRAY ss$KEY[3] + +' OPERAZIONE TERMINATA (FATTO) + $FATTO = ss$KEY[4] + $FATTO = Replace($FATTO, "_", " ") +' OPERAZIONE TERMINATA NON RIUSCITA (NON RIUSCITA) + $NONRIUSCITO = ss$KEY[7] + $NONRIUSCITO = Replace($NONRIUSCITO, "_", " ") + + Next + flKEY.Close + + 'COMBOTIPO************************************************************************ + flCMBT = Open "/usr/share/dnfdrake/dnfdrake-CMBT-" & $LANG For Read ' ...oppure "Input" + + While Not Eof(flCMBT) + Input #flCMBT, s$CMBT +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$CMBT.Add(s$CMBT) + Wend + Close #flCMBT +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jCMBT = 3 To ss$CMBT.Max + + Cmbtipo.Add(Replace(ss$CMBT[0], "_", " ")) + Cmbtipo.Add(Replace(ss$CMBT[1], "_", " ")) + Cmbtipo.Add(Replace(ss$CMBT[2], "_", " ")) + Cmbtipo.Add(Replace(ss$CMBT[3], "_", " ")) + Cmbtipo.Add("Autoremove") + BTNTABINSTALLED.Text = (Replace(ss$CMBT[1], "_", " ")) + BTNTABAVIABLE.Text = (Replace(ss$CMBT[2], "_", " ")) + BTNTABUPDATE.Text = (Replace(ss$CMBT[3], "_", " ")) + Next +' + flCMBT.Close + '********************************************************************************* + +'TITOLI E TOOTIP******************************************************************* + + + flTTP = Open "/usr/share/dnfdrake/dnfdrake-TTP-" & $LANG For Read ' ...oppure "Input" + + + While Not Eof(flTTP) + Input #flTTP, s$TTP +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$TTP.Add(s$TTP) + Wend +' + Close #flTTP +' +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jTTP = 0 To ss$TTP.Max + + txtpkg.Tooltip = Replace(ss$TTP[0], "_", " ") + Btnpathfile.Tooltip = Replace(ss$TTP[1], "_", " ") + btninstall.Tooltip = Replace(ss$TTP[2], "_", " ") + btnremove.Tooltip = Replace(ss$TTP[3], "_", " ") + Btnclose.Tooltip = Replace(ss$TTP[4], "_", " ") + Cmbtipo.Tooltip = Replace(ss$TTP[5], "_", " ") + btncerca.Tooltip = Replace(ss$TTP[6], "_", " ") + BtnCFG.Tooltip = Replace(ss$TTP[7], "_", " ") + Btndownload.Tooltip = Replace(ss$TTP[8], "_", " ") + btnupdate.Tooltip = Replace(ss$TTP[9], "_", " ") + Cmbtipoinfo.Tooltip = Replace(ss$TTP[10], "_", " ") + btninfo.Tooltip = Replace(ss$TTP[11], "_", " ") + Btncrono.Tooltip = Replace(ss$TTP[12], "_", " ") + btnstop.Tooltip = Replace(ss$TTP[13], "_", " ") + Btnclear.Tooltip = Replace(ss$TTP[14], "_", " ") + btnpkg.Tooltip = Replace(ss$TTP[15], "_", " ") + Btncommand.Tooltip = Replace(ss$TTP[16], "_", " ") + $HBOX1TOOLTIP = Replace(ss$TTP[17], "_", " ") + Listpkg.Tooltip = Replace(ss$TTP[18], "_", " ") + txtConsole.Tooltip = Replace(ss$TTP[19], "_", " ") + txtlang.Tooltip = Replace(ss$TTP[20], "_", " ") + Btncleartxtpkg.Tooltip = Replace(ss$TTP[24], "_", " ") + $DIALOGDIRTITLE = Replace(ss$TTP[25], "_", " ") + $DIALOGFILETITLE = Replace(ss$TTP[26], "_", " ") + $SELECTPKG = Replace(ss$TTP[27], "_", " ") + BTNPICKER.Tooltip = Replace(ss$TTP[28], "_", " ") + $CERCAFILE = Replace(ss$TTP[29], "_", " ") + BTNDOWNDGRADE.Tooltip = Replace(ss$TTP[30], "_", " ") + BTNCUSTOM.Tooltip = Replace(ss$TTP[31], "_", " ") + BTNPKGUPDATE.Tooltip = Replace(ss$TTP[32], "_", " ") + BTNEXTRA.Tooltip = Replace(ss$TTP[37], "_", " ") + PCTCONNECT.Tooltip = Replace(ss$TTP[38], "_", " ") + PCTDISCONNECT.Tooltip = Replace(ss$TTP[39], "_", " ") + BTNSELECTALL.Tooltip = Replace(ss$TTP[40], "_", " ") + BTNUNSELECTALL.Tooltip = Replace(ss$TTP[41], "_", " ") + BTNTABINSTALLED.Tooltip = Replace(ss$TTP[42], "_", " ") + BTNTABAVIABLE.Tooltip = Replace(ss$TTP[43], "_", " ") + BTNTABUPDATE.Tooltip = Replace(ss$TTP[44], "_", " ") + $NOTPACKAGES = Replace(ss$TTP[48], "_", " ") + $DNFDRAKEASK = Replace(ss$TTP[49], "_", " ") + BTNDNFCLEAN.Tooltip = Replace(ss$TTP[51], "_", " ") + Btnpathpkglist.Tooltip = Replace(ss$TTP[52], "_", " ") + ListpkgINSTALLATI.Tooltip = Replace(ss$TTP[53], "_", " ") + ListpkgAVAILABLE.Tooltip = Replace(ss$TTP[53], "_", " ") + ListpkgUPGRADE.Tooltip = Replace(ss$TTP[53], "_", " ") + BTNADDPKGLIST.Tooltip = Replace(ss$TTP[54], "_", " ") + BTNPKGLISTVIEW.Tooltip = Replace(ss$TTP[58], "_", " ") + BTNPKGLISTCLEAN.Tooltip = Replace(ss$TTP[59], "_", " ") + BTNEXCLUDE.Tooltip = Replace(ss$TTP[60], "_", " ") + BTNAUTOREMOVE.Tooltip = Replace(ss$TTP[76], "_", " ") + $AUTOREMOVETEXT = Replace(ss$TTP[77], "_", " ") + $CMBTOOLTIP = Replace(ss$TTP[5], "_", " ") + BTNFULLSCREEN.Tooltip = Replace(ss$TTP[78], "_", " ") + BTNRESIZE.Tooltip = Replace(ss$TTP[79], "_", " ") + $SUSPENDONTTP = Replace(ss$TTP[81], "_", " ") + $SUSPENDOFFTTP = Replace(ss$TTP[82], "_", " ") + BTNMYREPO.Tooltip = Replace(ss$TTP[83], "_", " ") + $ASKEXIT = Replace(ss$TTP[85], "_", " ") + Next +' + flTTP.Close + 'COMBOINFO************************************************************************ + flCMBI = Open "/usr/share/dnfdrake/dnfdrake-CMBI-" & $LANG For Read ' ...oppure "Input" + While Not Eof(flCMBI) + Input #flCMBI, s$CMBI +' ' Poiché "Input" legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", +' ' ogni parola del testo, delimitata da uno spazio, viene individuata e caricata in un nuovo elemento della variabile-array ss$: + ss$CMBI.Add(s$CMBI) + Wend + Close #flCMBI +' ' Scrive i nomi dei pulsanti nella lingua di sistema usando ogni stringa contenuta in ciascun elemento della variabile-array ss$: + For jCMBI = 5 To ss$CMBI.Max + Cmbtipoinfo.Add(Replace(ss$CMBI[0], "_", " ")) + Cmbtipoinfo.Add(Replace(ss$CMBI[1], "_", " ")) + Cmbtipoinfo.Add(Replace(ss$CMBI[2], "_", " ")) + Cmbtipoinfo.Add(Replace(ss$CMBI[3], "_", " ")) + Cmbtipoinfo.Add(Replace(ss$CMBI[4], "_", " ")) + Cmbtipoinfo.Add(Replace(ss$CMBI[5], "_", " ")) + Next + flCMBI.Close + +' 'ASSEGNAZIONE TOOLTIP AI PULSANTE TAB PKG +' +' BTNTABINSTALLED.Tooltip = Cmbtipo[1].Text +' BTNTABAVIABLE.Tooltip = Cmbtipo[2].Text +' BTNTABUPDATE.Tooltip = Cmbtipo[3].Text + + +'Azzera le variabili*************************************************************************** + $ListpkgWR = 0 + $ListpkgCK = 0 + $CHKERROR = 0 + Cmbtipo.Index = 0 + Cmbtipoinfo.Index = 0 + CMBVERSLOCK.index = 0 + $OFFLINE = 1 + PCTDISCONNECT.Visible = True + PCTCONNECT.Visible = False + txtCommand.SetFocus + $pathdir = User.home & "/" + $PATHLOG = User.Home & "/.config/dnfdrake/log" + $PRINTLOG = 0 + $INFOENABLED = 0 + $KILL = 0 + $CLOSEPASS = 0 + +'PULISCE LE LISTE PROVVISORIE DI INSTALLAZIONE/RIMOZIONE + TMPLISTCLEAN +'Carica il pront********************************************************************************** + + Print #$hProcess, "PS1=" & Chr$(34) & $DNFDRAKEASK & Chr$(34) & gb.NewLine; + +'Scrive il path in $RPMPATH se dnfdrake avviato con doppio click su rpm*************************** + + $RPMPATH = Replace$(Application.Args[1], " ", Chr$(92) & " ") + +'Controlla se sono presenti pacchetti esclusi dagli aggiornamenti********************************* + EXCLUDETEST + +'Creale liste************************************************************************************* + If $OFFLINE = 1 Then + TimerUPLISTE.Enabled = True + Endif + +' ABILITAZIONE / DISABILITAZIONE NODO VERBOSE +$VERBOSE = " | tee /dev/null " & User.Home & "/.config/dnfdrake/log/last.log" + +' ABILITAZIONE TASTO LOG + If $LOG = "LOG" Then + BTNVIEWLOG.Visible = True + Else + BTNVIEWLOG.Visible = False + Endif + + 'VERIFICA SE IMPOSTATO IGNORE CASE ****************** + If Exist(User.Home &/ ".config/dnfdrake/ignorecase") Then + $CASE = 1 + Else + $CASE = 0 + Endif + 'MOSTRA IL PULSANTE OM-PICKER IN OMA******************* + Shell "lsb_release -d" To $DISTRO + If InStr($DISTRO, "OpenMandriva", 0, gb.IgnoreCase) Then + BTNPICKER.Visible = True + Else + BTNPICKER.Visible = False + Endif + 'VERIFICA SE IL SUSPEND È ABILITATO E ALTRE FUNZIONI********* + VERIFYSUSPEND + $WAITSUSPEND = 0 + $ABORT = 0 + $CLEARLOGSUSPEND = 1 + $PROGRESSBARFORCESUSPEND = 0 + $COUNTBTNCLOSE = 0 + 'ABILITA AUTOSUSPEND**************************************** + If Exist(User.Home &/ ".config/dnfdrake/autosuspend") Then + $AUTOSUSPEND = 1 + Else + $AUTOSUSPEND = 0 + Endif + '************************************************************ +End + +Public Sub EXCLUDETEST() + Shell "grep exclude /etc/dnf/dnf.conf" Wait To $EXCLUDE + If $EXCLUDE <> "" Then + PICEXCLUDE.Visible = True + Else + PICEXCLUDE.Visible = False + Endif +End + + +Public Sub Form_Close() + If $CLOSEPASS = 0 Then + Dim iAnswer As Integer = Message.Question($ASKEXIT, $SI, $NO) + If (iAnswer = 1) Then + If PICSUSPENDLOCK.Visible = True And If $COUNTBTNCLOSE = 0 Then + FRESETSUSPEND.Show + $COUNTBTNCLOSE = 1 + $MEMOCOMMAND = "CLEARSUSPEND" + Btnclose.Enabled = True + Stop Event + Else + EXITROUTIN + Endif + Else + BTNCLOSE.Enabled = True + Stop Event + Endif + Else + EXITROUTIN + Endif +End + + +Public Sub Process_Read() + Dim sStr As String + 'Read #$hProcess, sStr, -2560 '-2560 sembra risolvere i problemi in listpkg e i blocchi durante i comandi +'RADDOPPIATO IL VALORE PER ACCETTARE PIÙ PACCHETTI DURANTE LE INSTALLAZIONI******************************** + Read #$hProcess, sStr, -2560 '-2560 sembra risolvere i problemi in listpkg e i blocchi durante i comandi + $sText = $sText & sStr + If $PRINTLOG = 0 Then + If InStr($sText, $PASSWORD) > 0 Then 'RICHIESTA INSERIMENTO PASSWORD + FPW.Show + Endif + If InStr($sText, $RQSTPASSWORD) > 0 Then 'operazione annullata se è richiesta password + FPW.Close + Print #$hProcess, Chr$(3); + Endif + If InStr($sText, $PROCEDERE) > 0 Then 'PROCEDERE AD INSTALLARE + If $SECUREMODE = "SECURE" Then + FSINOSECURE.Show + Else + FSINO.Show + Endif + Endif + '**************************************************************************************** + If InStr($sText, "Your choice:") > 0 Then 'DOMANDA DI SELEZIONE + FSELECTION.Show + Endif + '**************************************************************************************** + If InStr($sText, $FATTO) > 0 Then ' OPERAZIONE TERMINATA (FATTO)" + If $MEMOCOMMAND = "RECOVERSUSPEND" Then + $CLEARLOGSUSPEND = 0 + Endif + FOK.Show + Endif + If InStr($sText, $NONRIUSCITO) > 0 Then ' OPERAZIONE TERMINATA (NON RIUSCITO)" + FOK.Show + Endif +' '********************************************************************************************* +' If InStr($sText, "sudo: 3") > 0 Then ' TEST PER PASSWORD ERRATA" +' Message.Info("Operazione non eseguita password errata", "Ok") +' Endif +' '********************************************************************************************* + + Endif + ' If InStr($sText, "~]$") Or If InStr($sText, "]#") > 0 Then '*****VECCHIO CONTROLLO USATO PRIMA DEL CAMBIO DEL PRONT*************** + If InStr($sText, $DNFDRAKEASK) > 0 Then + $STATUS = 0 + $PRINTLOG = 0 +'SERVE A GESTIRE LA RICERCA CON OPZIONE TUTTI********************************** + If $ListpkgWR = 3 And $ListpkgCK = 3 Then + $ListpkgWR = 0 + $ListpkgCK = 0 + Endif + If $ListpkgWR = 2 And $ListpkgCK = 2 Then + btncerca_Click + Endif + If $ListpkgWR = 1 And $ListpkgCK = 1 Then + btncerca_Click + Endif +'COMANDI POSTUMI (MEMOCOMMAND)************************************************* + 'OM-PICKER******************************************** + If $MEMOCOMMAND = "dnf repolist" Then + Print #$hProcess, $MEMOCOMMAND & gb.NewLine; + $MEMOCOMMAND = "" + Me.Mouse = Mouse.default + Fmain.Enabled = True + Wait 2 + Fmain.TimerUPLISTE.Enabled = True + Endif + 'EXCLUDE******************************************** + If $MEMOCOMMAND = "EXCLUDETEST" Then + EXCLUDETEST + $MEMOCOMMAND = "" + Endif + If $MEMOCOMMAND = "LISTUPDTEXCL" Then + ' Wait 0.05 ' SE SI PREME ANNULLA SULLA FINESTRA DELLA PASSWORD IL PROGRAMMA VA IN STACKOVERFLOW + Btnclear_Click + TimerUPLISTE.Enabled = True + $MEMOCOMMAND = "" + Endif + 'MEMOCOMMAND MYREPO******************************************** + If $MEMOCOMMAND = "TMPREPOCLEAR" Then + Print #$hProcess, "rm -f " & User.Home & "/.config/dnfdrake/*.repo " & gb.NewLine; + $MEMOCOMMAND = "" + Wait 0.05 + FMYREPO.CERCAREPO + Btnclear_Click + Wait 0.05 + + Endif + 'MEMOCOMMAND AUTOREMOVE******************************************** + If $MEMOCOMMAND = "AUTOREMOVE" Then + CERCAAUTOREMOVE + $MEMOCOMMAND = "" + Endif + 'MEMOCOMMAND PULISCI SUSPEND ******************************************** + If $MEMOCOMMAND = "CLEARSUSPEND" Then + $MEMOCOMMAND = "" + VERIFYSUSPEND + Btnclear_Click + Endif + 'MEMOCOMMAND MOUSEDEFAULT************************************************* + If $MEMOCOMMAND = "MOUSEDEFAULT" Then + Me.Mouse = Mouse.Default + $MEMOCOMMAND = "" + Endif +'************************************************************************** + If $MEMOCOMMAND = "DISTROSYNCWAIT" Then + $MEMOCOMMAND = "" + VERIFYSUSPEND + Wait 0.2 + Btnclear_Click + txtConsole.Text = "" + If $ABORT = 0 Then + If BTNDISTUPDATE.Visible = True + BTNDISTUPDATE_Click + Else + btnupdate_Click + Endif + Else + $ABORT = 0 + Fmain.Enabled = True + Endif + Endif +'************************************************************************** + If $MEMOCOMMAND = "RECOVERSUSPEND" Then + If $COUNTRECOVERSUSPEND = 1 Then + $MEMOCOMMAND = "" + FRESETSUSPEND.Show + $COUNTRECOVERSUSPEND = 0 + Else + $COUNTRECOVERSUSPEND = $COUNTRECOVERSUSPEND + 1 + $CLEARLOGSUSPEND = 0 + Endif + Endif + +'************************************************************************** + If $MEMOEXEC = "txtpkgclear" And $ListpkgWR = 0 Then + Btncleartxtpkg_Click + $MEMOEXEC = "" + Endif +'************************************************************************** + If $ListpkgWR = 0 And $CHKERROR > 0 Then + Try Message.Info("N°" & $CHKERROR & " ERRORS HAVE BEEN DETECTED, PLEASE IMPROVE THE SEARCH CRITERIA", "OK") + $CHKERROR = 0 + Endif + Else + $STATUS = 1 + Endif +'************************************************************************** + UpdateConsole + +'controllo esecuzione comandi per sequenza comandi di ricerca************ + If $ListpkgWR = 1 And $STATUS = 1 Then + $ListpkgCK = 1 + Endif + If $ListpkgWR = 2 And $STATUS = 0 Then + $ListpkgCK = 0 + Endif + If $ListpkgWR = 2 And $STATUS = 1 And $ListpkgCK = 0 Then + $ListpkgCK = 2 + Endif + If $ListpkgWR = 3 And $STATUS = 0 Then + $ListpkgCK = 0 + Endif + If $ListpkgWR = 3 And $STATUS = 1 And $ListpkgCK = 0 Then + $ListpkgCK = 3 + Endif +'*********************************************************************** +End + + +Public Sub Process_Error(sStr As String) + $sText = $sText & sStr + UpdateConsole +End + +Private Sub UpdateConsole() + + Dim iPos As Integer + Dim sStr As String + Dim s As String + Dim sok As String + ' Dim smid As String[] 'da elimiare se dopo 10 versioni se non presenta errori di ricerca 1.9.6 + Dim p As Integer + + While Len($sText) + iPos = InStr($sText, "\n") + If iPos = 0 Then iPos = Len($sText) + sStr = Normalize(Left$($sText, iPos)) + ' pulizia stringa per lista pacchetti in listpkg******************************************************** + ' questo codice serve a levare gli spazi prima e dopo il nome del pacchetto " RTrim$(LTrim$(txtpkg.Text))) " + If InStr($sText, RTrim$(LTrim$(txtpkg.Text))) > 0 Then + If InStr($sText, ".x86_64") Or InStr($sText, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr($sText, ".i686") Then + Try s = Scan($sText, "*[ ]*")[0] + If Error Then + $CHKERROR = $CHKERROR + 1 + Endif + ' smid = Split(s, " ") 'da elimiare se dopo 10 versioni se non presenta errori di ricerca + ' For Each s In smid 'da elimiare se dopo 10 versioni se non presenta errori di ricerca + If InStr(s, RTrim$(LTrim$(txtpkg.Text))) > 0 Then + s = LTrim(s) + If Comp(s, sok) = 0 Then + Else +'MODIFICAPER LA VISUALIZZAZIONE DEI PACCHETTI SELEZIONABILI + If $ListpkgWR = 3 Then + p = 1 + ListpkgINSTALLATI.Count + ListpkgINSTALLATI.Add(p, s) + Endif + If $ListpkgWR = 2 Then + p = 1 + ListpkgAVAILABLE.Count + ListpkgAVAILABLE.Add(p, s) + Endif + If $ListpkgWR = 1 Then + p = 1 + ListpkgUPGRADE.Count + ListpkgUPGRADE.Add(p, s) + Endif + If $ListpkgWR = 0 + p = 1 + Listpkg.Count + Listpkg.Add(p, s) + Endif + ' Listpkg.Add(p, s) +'************************************************************ + sok = s + Endif + Endif + ' Next 'da elimiare se dopo 10 versioni se non presenta errori di ricerca + + Endif + Endif +'****************************************************************************************** + $sText = Mid$($sText, iPos + 1) + txtConsole.Pos = txtConsole.Length + txtConsole.Insert(sStr) +'*****SERVE PER NON MOSTRARE IL ^C DI ANNULLA***************** + ' If InStr(txtConsole.text, "^C") > 0 Then + ' Btnclear_Click + ' Endif +'*****************************************AZIONI EXTRA ************************************************ + +'INVIA L'ULTIMA RIGA ALLA FINESTRA FRUN E CONTROLLA GLI ERRORI************************ + If FRUN.Visible = True + FRUN.MONITORVIEW.Text = sStr + Endif + If FPROGRESSWAIT.Visible = True Then + FPROGRESSWAIT.MONITORVIEW.Text = sStr + Endif +'verifica se l'operazione ha errori*************************** CORREGGERE QUESTO!!!! + If sStr = $DNFDRAKEASK And FRUN.ProgressBar1.Pulse = True Then + FRUN.ProgressBar1.Pulse = False + FRUN.ProgressBar1.Value = 1 + FRUN.BTNSTOP.Text = Fmain.Btnclose.Text + FRUN.MONITORVIEW.Visible = False + FRUN.Text = "DnfDrake, " & "Error!" + FERROR.Show + Wait 0.2 + FERROR.TextArea1.Text = txtConsole.Text + Endif + + +'CHIUSURA FPROGRESSWAIT ************************************************************** + If sStr = $DNFDRAKEASK And FPROGRESSWAIT.Visible = True Then + FPROGRESSWAIT.Close + Endif +'************************************************************************************* + + Wend +End + +Public Sub Process_Kill() + Try Me.Close +End + + +Public Sub txtCommand_Activate() + 'GESTIONE PER TEST LINGUE*************************************** + 'RICARICA L'INTEFACCIA CON LA LINGUA IN TEST******************** + If txtCommand.Visible = True And Left(txtCommand.Text, 10) = "reloadlang" Then + If $templang = "" Then + Message.info("Caricare prima la lingua con magiclang xx_XX !", "OK") + txtCommand.Text = "" + Wait 0.5 + txtConsole.Text = "" + Else + $LANG = $templang + txtCommand.Text = "" + Wait 0.5 + txtConsole.Text = "" + Form_Open + +'CORREZIONE BUG DOPPIO AVVIO ************************************ + $KILL = 1 + If BTNFULLSCREEN.Visible = True Then + BTNFULLSCREEN_Click + Wait 0.5 + txtConsole.Text = "" + Else + BTNRESIZE_Click + Wait 0.5 + txtConsole.Text = "" + Endif +'**************************************************************** + Endif + '************************************************************** + Else + 'SCEGLIE LA LINGUA DA TESTARE********************************** + If txtCommand.Visible = True And Left(txtCommand.Text, 9) = "magiclang" Then + $templang = Right(txtCommand.Text, 5) + If $templang = "clang" Then + Message.Info("Digitare la lingua in formato xx_XX dopo magiclang!", "Ok") + Else + Message.info("La lingua di sistema è stata modificata in " & $templang & " ;-)" & " Riavviare per ripristinare la lingua di sistema!", "OK") + Print #$hProcess, "LANG=" & $templang & ".UTF-8" & gb.NewLine; + Wait 0.1 + Print #$hProcess, "LANGUAGE=" & $templang & ".UTF-8" & gb.NewLine; + Wait 0.1 + Print #$hProcess, "LC_COLLATE=C" & gb.NewLine; + Wait 0.1 + Print #$hProcess, "LC_CTYPE=" & $templang & ".UTF-8" & gb.NewLine; + txtCommand.Text = "" + Wait 0.1 + txtConsole.Text = "" + txtlang.Text = "**" + + Endif + '***************************************************************** + Else + ' ESEGUE I COMANDI NORMALI**************************************** + Dim sLig As String + sLig = txtCommand.Text & gb.NewLine + txtCommand.Clear + sLig = Conv$(sLig, Desktop.Charset, System.Charset) + Print #$hProcess, sLig; + Endif + Endif +End + + +Static Private Function Normalize(sStr As String) As String + + Dim sNorm As String + sNorm = sStr + If System.Charset = Desktop.Charset Then + Return sNorm + Else + Return Conv$(sNorm, System.Charset, Desktop.Charset) + Endif +End + +Private Sub TABHIDE() + BTNTABINSTALLED.Visible = False + BTNTABAVIABLE.Visible = False + BTNTABUPDATE.Visible = False + ListpkgINSTALLATI.Visible = False + ListpkgAVAILABLE.Visible = False + ListpkgUPGRADE.Visible = False +End +Private Sub EXITROUTIN() + Dim $PID As String + If Exist(User.Home & "/.config/dnfdrake/repolist.tmp") Then + Shell "rm -f " & User.Home & "/.config/dnfdrake/repolist.tmp " Wait + Endif + $hProcess.Kill + ' PARTE CHE SERVE A KILLARE IL PROCESSO DI DNFDRAKE SE È STATO LANCIATO DNFDRAKETRAY ********** + If $KILL = 1 Then + Shell "ps aux | grep gbr3 | grep -w dnfdrake.gambas" Wait To $PID + $PID = Right(Left($PID, 16), 8) + Shell "kill " & $PID + Endif +End + + +Public Sub btnCtrlC_Click() + Print #$hProcess, Chr$(3); +End + + +Public Sub btnCtrlZ_Click() + Print #$hProcess, Chr$(26); +End + + +Public Sub Btnclose_Click() + $CLOSEPASS = 1 + Btnclose.Enabled = False + If PICSUSPENDLOCK.Visible = True And If $COUNTBTNCLOSE = 0 Then + FRESETSUSPEND.Show + $COUNTBTNCLOSE = 1 + $MEMOCOMMAND = "CLEARSUSPEND" + Btnclose.Enabled = True + Else + listpkg.Visible = False + txtConsole.Visible = False + Wait 0.1 + FPW.BTNANNULLA_Click + Me.Close + Endif +End + +Public Sub btnupdate_Click() + 'DISABILITAZIONE SUSPEND*************************** + If $WAITSUSPEND = 0 Then + If $AUTOSUSPEND = 1 Then + Btnclear_Click + txtConsole.Text = "" + If $SECUREMODE = "SECURE" Then + Fmain.Enabled = False + Endif + $MEMOCOMMAND = "DISTROSYNCWAIT" + $WAITSUSPEND = 1 + Print #$hProcess, "sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target" & gb.NewLine; + Else + DSTUPDATE + Endif + Else + DSTUPDATE ' SOSTITUISCE IL CODICE PER EVITARE DI RIPETERLO ********************************* + Endif +End + +Public Sub txtConsole_KeyPress() +End + +Public Sub btninstall_Click() + + Dim a As String + Dim s As String + Dim spkg As String + spkg = "" +'VERIFICA NUMERO DI PACCHETTI SELEZIONATI************************************* + If Val(Str(ListpkgAVAILABLE.Selection.Count)) > 10 Then + Message.Info("It seems that you are select many packages at the same time, this can cause errors, to avoid this DnfDrake has created a temporary list for installation!", "OK") + BTNADDPKGLIST_Click + Endif +'***************************************************************************** + If TXTPKGLISTNOME.Visible = True And If TXTPKGLISTNOME.Text = "Install Package List" Then + Print #$hProcess, $INSTALL & "$(cat " & User.Home &/ ".config/dnfdrake/log/addpkglist.txt" & " )" & $VERBOSE & gb.NewLine; + Btnclear_Click + FRUNSHOW + Else + If Listpkg.Visible = False And If ListpkgAVAILABLE.Visible = False 'And If ListpkgUPGRADE.Visible = False + If txtpkg.text = "" + Message.Info($SELECTPKG, "OK") + Else + If Right(txtpkg.Text, 4) = ".txt" Then '*************Verifica se esiste un elenco di pacchetti da installare + Print #$hProcess, $INSTALL & "$(cat " & txtpkg.Text & " )" & $VERBOSE & gb.NewLine; + Else '*************Se non c'è elenco fa la solita installazione + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + txtConsole.Text = "" + Me.Mouse = Mouse.Wait + Print #$hProcess, $INSTALL & txtpkg.Text & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + Endif + + If ListpkgINSTALLATI.Visible = True Or If ListpkgUPGRADE.Visible = True Then + Message.Info($SELECTPKG, "OK") + Else + + If ListpkgAVAILABLE.Visible = True + For Each a In ListpkgAVAILABLE.Selection + s = ListpkgAVAILABLE[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgAVAILABLE.Remove(a) + Next + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + ListpkgAVAILABLE.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Me.Mouse = Mouse.Wait + Print #$hProcess, $INSTALL & spkg & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + + If $OFFLINE = 0 Then + If Listpkg.Visible = True Then + If Cmbtipo.index = 2 Or If Cmbtipo.index = 0 + For Each a In Listpkg.Selection + s = Listpkg[a].Text + ' s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + Listpkg.Remove(a) + Next + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + Listpkg.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Me.Mouse = Mouse.Wait + Print #$hProcess, $INSTALL & spkg & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + Endif + Endif + Endif + Endif +End + +Public Sub txtpkg_KeyPress() + +End + +Public Sub txtpkg_Activate() + btncerca_Click +End + +Public Sub btnremove_Click() + Dim a As String + Dim s As String + Dim spkg As String + spkg = "" +'VERIFICA NUMERO DI PACCHETTI SELEZIONATI************************************* + If Val(Str(ListpkgINSTALLATI.Selection.Count)) > 10 Then + Message.Info("It seems that you are select many packages at the same time, this can cause errors, to avoid this DnfDrake has created a temporary list for uninstallation! ", "OK") + BTNADDPKGLIST_Click + Endif +'***************************************************************************** + If TXTPKGLISTNOME.Visible = True And If TXTPKGLISTNOME.Text = "Remove Package List" Then + Print #$hProcess, $UNINSTALL & "$(cat " & User.Home &/ ".config/dnfdrake/log/rempkglist.txt " & ")" & $VERBOSE & gb.NewLine; + Btnclear_Click + FRUNSHOW + Else + If Listpkg.Visible = False And If ListpkgINSTALLATI.Visible = False + If txtpkg.text = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Right(txtpkg.Text, 4) = ".txt" Then '*************Verifica se esiste un elenco di pacchetti da installare + Print #$hProcess, $UNINSTALL & "$(cat " & txtpkg.Text & " )" & $VERBOSE & gb.NewLine; + Else '*************Se non c'è elenco fa la solita installazione + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + txtConsole.Text = "" + Me.Mouse = Mouse.Wait + Print #$hProcess, $UNINSTALL & txtpkg.Text & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + Endif + + If ListpkgAVAILABLE.Visible = True Or If ListpkgUPGRADE.Visible = True Then + Message.Info($SELECTPKG, "OK") + Else + + If ListpkgINSTALLATI.Visible = True + For Each a In ListpkgINSTALLATI.Selection + s = ListpkgINSTALLATI[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgINSTALLATI.Remove(a) + Next + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + ListpkgINSTALLATI.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Me.Mouse = Mouse.Wait + Print #$hProcess, $UNINSTALL & spkg & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + If $OFFLINE = 0 Then + If Listpkg.Visible = True Then + If Cmbtipo.index = 1 Or If Cmbtipo.index = 0 + For Each a In Listpkg.Selection + s = Listpkg[a].Text + ' s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + Listpkg.Remove(a) + Next + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + Listpkg.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Me.Mouse = Mouse.Wait + Print #$hProcess, $UNINSTALL & spkg & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + Endif + Endif + Endif + Endif +End + +Public Sub BTNPKGUPDATE_Click() + Dim a As String + Dim s As String + Dim spkg As String + spkg = "" +'VERIFICA NUMERO DI PACCHETTI SELEZIONATI************************************* + If Val(Str(ListpkgUPGRADE.Selection.Count)) > 5 Then + Message.Info("It seems that you are select many packages at the same time, this can cause errors, to avoid this DnfDrake has created a temporary list for installation!\n It is recommended to use 'Update Sys' or 'Distro Sync' button!", "OK") + BTNADDPKGLIST_Click + Endif +'***************************************************************************** + If TXTPKGLISTNOME.Visible = True And If TXTPKGLISTNOME.Text = "Update Package List" Then + Print #$hProcess, $PKGUPDATE & "$(cat " & User.Home &/ ".config/dnfdrake/log/updpkglist.txt" & " )" & $VERBOSE & gb.NewLine; + Btnclear_Click + FRUNSHOW + Else + If Listpkg.Visible = False And If ListpkgUPGRADE.Visible = False + If txtpkg.text = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Right(txtpkg.Text, 4) = ".txt" Then '*************Verifica se esiste un elenco di pacchetti da installare + Print #$hProcess, $PKGUPDATE & "$(cat " & txtpkg.Text & " )" & $VERBOSE & gb.NewLine; + Else '*************Se non c'è elenco fa la solita installazione + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + txtConsole.Text = "" + Me.Mouse = Mouse.Wait + Print #$hProcess, $PKGUPDATE & txtpkg.Text & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + Endif + + If ListpkgINSTALLATI.Visible = True Or If ListpkgAVAILABLE.Visible = True Then + Message.Info($SELECTPKG, "OK") + Else + + If ListpkgUPGRADE.Visible = True + For Each a In ListpkgUPGRADE.Selection + s = ListpkgUPGRADE[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgUPGRADE.Remove(a) + Next + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + ListpkgUPGRADE.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Me.Mouse = Mouse.Wait + Print #$hProcess, $PKGUPDATE & spkg & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + + If $OFFLINE = 0 Then + If Listpkg.Visible = True Then + If Cmbtipo.index = 3 Or If Cmbtipo.index = 0 + For Each a In Listpkg.Selection + s = Listpkg[a].Text + ' s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + Listpkg.Remove(a) + Next + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + Listpkg.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Me.Mouse = Mouse.Wait + Print #$hProcess, $PKGUPDATE & spkg & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + Endif + Endif + Endif + Endif +End + +Public Sub txtCommand_KeyPress() + +End + +Public Sub Btnexp1_Click() + + If Btnexp2.Text = "UEXP2" Then + Btnexp2_Click + Endif + If Btnexp1.Text = "EXP1" Then + Btnexp1.Text = "UEXP1" + If Fmain.Width > 1366 Then + txtConsole.Width = 1330 + ($RISOLUZIONEX - 1366) - Listpkg.Width - 5 + txtConsole.Height = 476 + ($RISOLUZIONEY - 768) + txtConsole.X = listpkg.Width + listpkg.X + Else + txtConsole.Width = 1029 + txtConsole.Height = 476 + txtConsole.X = 308 + Endif + txtConsole.Y = 147 + txtConsole.Visible = True + Listpkg.Visible = True + btnpkg.Visible = True + BTNSELECTALL.Visible = True + BTNUNSELECTALL.Visible = True + If $OFFLINE = 1 + BTNADDPKGLIST.Visible = True + BTNPKGLISTVIEW.Visible = True + BTNPKGLISTCLEAN.Visible = True + TXTPKGLISTLABEL.Visible = True + TXTPKGLISTNOME.Visible = True + + Else + BTNADDPKGLIST.Visible = False + BTNPKGLISTVIEW.Visible = False + TXTPKGLISTLABEL.Visible = False + TXTPKGLISTNOME.Visible = False + BTNPKGLISTCLEAN.Visible = False + Endif + TABHIDE + + + Else + Btnexp1.Text = "EXP1" + txtConsole.Visible = False + Listpkg.Visible = False + ListpkgINSTALLATI.Visible = False + ListpkgAVAILABLE.Visible = False + ListpkgUPGRADE.Visible = False + btnpkg.Visible = False + BTNTABINSTALLED.Visible = False + BTNTABAVIABLE.Visible = False + BTNTABUPDATE.Visible = False + BTNSELECTALL.Visible = False + BTNUNSELECTALL.Visible = False + BTNADDPKGLIST.Visible = False + BTNPKGLISTVIEW.Visible = False + TXTPKGLISTLABEL.Visible = False + TXTPKGLISTNOME.Visible = False + BTNPKGLISTCLEAN.Visible = False + ListpkgINSTALLATI.Visible = False + ListpkgAVAILABLE.Visible = False + ListpkgUPGRADE.Visible = False + TABHIDE + Endif +End + +Public Sub Btnexp2_Click() + + If Btnexp1.Text = "UEXP1" Then + Btnexp1_Click + Endif + If Btnexp2.Text = "EXP2" Then + Btnexp2.Text = "UEXP2" + If Fmain.Width > 1366 Then + txtConsole.Width = 1330 + ($RISOLUZIONEX - 1366) + txtConsole.Height = 476 + ($RISOLUZIONEY - 768) + Else + txtConsole.Width = 1330 + txtConsole.Height = 476 + Endif + txtConsole.X = 10 + txtConsole.Y = 147 + txtConsole.Visible = True + TABHIDE + Else + Btnexp2.Text = "EXP2" + txtConsole.Visible = False + If Fmain.Width > 1366 Then + txtConsole.Width = 1330 + ($RISOLUZIONEX - 1366) - Listpkg.Width - 5 + txtConsole.Height = 476 + ($RISOLUZIONEY - 768) + txtConsole.X = listpkg.Width + listpkg.X + Else + txtConsole.Width = 1330 + txtConsole.Height = 476 + txtConsole.X = 308 + Endif + txtConsole.Y = 147 + TABHIDE + Endif +End + +Public Sub btninfo_Click() + Btnclear_Click + TABHIDE + If Listpkg.Visible = True Then + Endif + If Cmbtipoinfo.index = 5 Then 'REPO + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + txtConsole.Text = "" + Print #$hProcess, "dnf repolist" & gb.NewLine; + Else + If txtpkg.text = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + If Cmbtipoinfo.index = 0 'GENERALE + txtConsole.Text = "" + Print #$hProcess, "dnf info " & txtpkg.Text & gb.NewLine; + Endif + If Cmbtipoinfo.Index = 3 'CHANGELOG + txtConsole.Text = "" + Print #$hProcess, "dnf provides " & txtpkg.Text & gb.NewLine; + Endif + If Cmbtipoinfo.Index = 1 'DIPENDENZE + txtConsole.Text = "" + Print #$hProcess, "dnf deplist " & txtpkg.Text & " | grep dependency" & gb.NewLine; + Endif + If Cmbtipoinfo.Index = 2 'FILE + txtConsole.Text = "" + If Cmbtipo.Index = 1 + Print #$hProcess, "rpm -ql " & txtpkg.Text & gb.NewLine; + Else + Print #$hProcess, "repoquery -l " & txtpkg.Text & gb.NewLine; + Endif + Endif + If Cmbtipoinfo.index = 4 'HOMEPAGE + txtConsole.Text = "" + Print #$hProcess, "dnf info " & txtpkg.Text & " | grep URL" & gb.NewLine; + Endif + Endif + Endif + +End + + + +Public Sub btncerca_Click() + $STATUS = 1 ' AGGIUNTA A VERSIONE 1.17.32 PER LA GESTIONE DEL TASTO PULISCI + If Cmbtipo.index = 0 Then 'TUTTI + If $OFFLINE = 0 + If txtpkg.Text = "" Then + txtConsole.Text = "" + Me.Mouse = Mouse.Wait + Print #$hProcess, "dnf list " & gb.NewLine; + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Else + If Btnexp1.Text = "EXP1" Then + Btnexp1_Click + Endif + If $ListpkgWR = 0 And $ListpkgCK = 0 + Btnclear_Click + ' Endif +'**************************************************************** + Me.Mouse = Mouse.Wait + Print #$hProcess, "dnf " & $SEARCH & " list | grep " & txtpkg.Text & gb.NewLine; + ' $MEMOEXEC = "txtpkgclear" + Endif + Endif +'********************************************************** + + + +' 'MODIFICA PER NUOVA RICERCA PACCHETTI online forse da eliminare***************************************************** +' BTNTABINSTALLED.Visible = True +' BTNTABAVIABLE.Visible = True +' BTNTABUPDATE.Visible = True +' +' $ListpkgWR = $ListpkgWR + 1 +' +' If $ListpkgWR = 1 Then +' Print #$hProcess, "dnf list upgrades |grep " & txtpkg.Text & gb.NewLine; +' BTNTABUPDATE.SetFocus +' BTNTABUPDATE_Click +' Endif +' +' If $ListpkgWR = 2 Then +' Print #$hProcess, "dnf " & $SEARCH & " list available | grep " & txtpkg.Text & gb.NewLine; +' BTNTABAVIABLE.SetFocus +' BTNTABAVIABLE_Click +' Endif +' +' If $ListpkgWR = 3 Then +' Print #$hProcess, "dnf list installed| grep " & txtpkg.Text & gb.NewLine; +' BTNTABINSTALLED.SetFocus +' BTNTABINSTALLED_Click +' ' $MEMOEXEC = "txtpkgclear" +' Endif +' +' ' Print #$hProcess, "dnf " & $SEARCH & " list | grep " & txtpkg.Text & gb.NewLine; +' ' $MEMOEXEC = "txtpkgclear" +' +' Endif + + + 'RICERCA OFFLINE********************************************************************* + $MEMOCOMMAND = "MOUSEDEFAULT" + Else + + Btnclear_Click + + If Btnexp1.Text = "EXP1" Then + Btnexp1_Click + Endif + + BTNTABINSTALLED.Visible = True + BTNTABAVIABLE.Visible = True + BTNTABUPDATE.Visible = True + Me.Mouse = Mouse.Wait + CERCAUPDATE + Me.Mouse = Mouse.Wait + CERCAAVAILABLE + Me.Mouse = Mouse.Wait + CERCAINSTALLED + BTNINSTALVIEW + Endif + Endif + + + '**************************************************************************** + + If Cmbtipo.index = 1 Then + If $OFFLINE = 0 'INSTALLATI + TABHIDE + If txtpkg.Text = "" Then + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + txtConsole.Text = "" + Me.Mouse = Mouse.Wait + Print #$hProcess, "dnf list installed" & gb.NewLine; + Else + If Btnexp1.Text = "EXP1" Then + Btnexp1_Click + Endif + Btnclear_Click + Me.Mouse = Mouse.Wait + Print #$hProcess, "dnf list installed| grep " & txtpkg.Text & gb.NewLine; + ' $MEMOEXEC = "txtpkgclear" + Endif + $MEMOCOMMAND = "MOUSEDEFAULT" + 'RICERCA OFFLINE********************************************************************* + Else + TABHIDE + Btnclear_Click + + If Btnexp1.Text = "EXP1" Then + Btnexp1_Click + Endif + + ' BTNTABINSTALLED.Visible = True + ' BTNTABAVIABLE.Visible = False + ' BTNTABUPDATE.Visible = False + Me.Mouse = Mouse.Wait + CERCAINSTALLED + BTNINSTALVIEW + Endif + Endif +'*********************************************************************************** + + If Cmbtipo.index = 2 Then 'NON INSTALLATI + If $OFFLINE = 0 + TABHIDE + If txtpkg.Text = "" + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + txtConsole.Text = "" + Me.Mouse = Mouse.Wait + Print #$hProcess, "dnf list available" & gb.NewLine; + Else + If Btnexp1.Text = "EXP1" Then + Btnexp1_Click + Endif + Btnclear_Click + Me.Mouse = Mouse.Wait + Print #$hProcess, "dnf " & $SEARCH & " list available | grep " & txtpkg.Text & gb.NewLine; + ' $MEMOEXEC = "txtpkgclear" + Endif + $MEMOCOMMAND = "MOUSEDEFAULT" + 'RICERCA OFFLINE********************************************************************* + Else + TABHIDE + Btnclear_Click + + If Btnexp1.Text = "EXP1" Then + Btnexp1_Click + Endif + ' BTNTABINSTALLED.Visible = False + ' BTNTABAVIABLE.Visible = True + ' BTNTABUPDATE.Visible = False + Me.Mouse = Mouse.Wait + CERCAAVAILABLE + BTNAVAILABLEVIEW + Endif + Endif + + +'************************************************************************************************* + + If Cmbtipo.index = 3 Then 'UPDATE + If $OFFLINE = 0 + TABHIDE + If txtpkg.Text = "" + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + txtConsole.Text = "" + Me.Mouse = Mouse.Wait + Print #$hProcess, "dnf list upgrades" & gb.NewLine; + Else + If Btnexp1.Text = "EXP1" Then + Btnexp1_Click + Endif + Btnclear_Click + Me.Mouse = Mouse.Wait + Print #$hProcess, "dnf list upgrades |grep " & txtpkg.Text & gb.NewLine; + ' $MEMOEXEC = "txtpkgclear" + Endif + $MEMOCOMMAND = "MOUSEDEFAULT" + 'RICERCA OFFLINE********************************************************************* + Else + TABHIDE + Btnclear_Click + If Btnexp1.Text = "EXP1" Then + Btnexp1_Click + Endif + ' BTNTABINSTALLED.Visible = False + ' BTNTABAVIABLE.Visible = False + ' BTNTABUPDATE.Visible = True + Me.Mouse = Mouse.Wait + CERCAUPDATE + BTNUPDATEVIEW + Endif + Endif +'AUTORMOVE LIST***************************************************************************** +If Cmbtipo.index = 4 Then 'AUTOREMOVE + If $OFFLINE = 0 + TABHIDE + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + If $LOG = "LOG" Then + Me.Mouse = Mouse.Wait + Print #$hProcess, "dnf list autoremove" & $VERBOSE & gb.NewLine; + Else + Me.Mouse = Mouse.Wait + Print #$hProcess, "dnf list autoremove" & gb.NewLine; + Endif + $MEMOCOMMAND = "MOUSEDEFAULT" + Else + Btnclear_Click +'CORREZIONE VISUALIZZAZIONE MASCHERA **************************************** + If Btnexp1.Text = "EXP1" Then + Btnexp1_Click + Endif + 'MODIFICHE RISPETTO A BTNEXP1 + If Fmain.Width > 1366 Then + txtConsole.Width = 1330 + ($RISOLUZIONEX - 1366) + txtConsole.Height = 476 + ($RISOLUZIONEY - 768) + Else + txtConsole.Width = 1330 + txtConsole.Height = 476 + Endif + txtConsole.X = 10 + txtConsole.Y = 147 + txtConsole.Visible = True + listpkg.Visible = False + btnpkg.Visible = False + '************************************************* + Me.Mouse = Mouse.Wait + Print #$hProcess, "dnf list autoremove" & $VERBOSE & gb.NewLine; + Me.Mouse = Mouse.Wait + $MEMOCOMMAND = "AUTOREMOVE" + Endif +Endif +'******************************************************************************************** +'Me.Mouse = Mouse.Default +End + +Public Sub VERIFYSUSPEND() + If Exist("/etc/systemd/system/sleep.target") And If Exist("/etc/systemd/system/suspend.target") And If Exist("/etc/systemd/system/hibernate.target") And If Exist("/etc/systemd/system/hybrid-sleep.target") Then + ' BTNSUSPEND.Text = " Suspend Off" + BTNSUSPEND.Tooltip = $SUSPENDOFFTTP + PICSUSPEND.Visible = False + PICSUSPENDLOCK.Visible = True + Else + ' BTNSUSPEND.Text = " Suspend On" + BTNSUSPEND.Tooltip = $SUSPENDONTTP + PICSUSPEND.Visible = True + PICSUSPENDLOCK.Visible = False + Endif +End + +Private Sub RESOLUTION() + +If BTNFULLSCREEN.Visible = True + Fmain.X = 0 + Fmain.Y = 0 + Fmain.Height = ($RISOLUZIONEY - 70) + Fmain.Width = ($RISOLUZIONEX) + Btnclose.X = Btnclose.X + ($RISOLUZIONEX - 1366) + BTNABOUT.X = BTNABOUT.X + ($RISOLUZIONEX - 1366) + BTNMYREPO.X = BTNMYREPO.X + ($RISOLUZIONEX - 1366) + BTNPICKER.X = BTNPICKER.X + ($RISOLUZIONEX - 1366) + Btncommand.Y = Btncommand.Y + ($RISOLUZIONEY - 768) + PCTCONNECT.X = PCTCONNECT.X + ($RISOLUZIONEX - 1366) / 2 + PCTDISCONNECT.X = PCTDISCONNECT.X + ($RISOLUZIONEX - 1366) / 2 + Label1.X = Label1.X + ($RISOLUZIONEX - 1366) / 2 + txtlang.X = txtlang.X + ($RISOLUZIONEX - 1366) / 2 + CORNICE.Width = CORNICE.Width + ($RISOLUZIONEX - 1366) + CORNICE.Height = CORNICE.Height + ($RISOLUZIONEY - 768) + listpkg.Width = listpkg.Width * ($RISOLUZIONEX / 1366) + Listpkg.Height = Listpkg.Height + ($RISOLUZIONEY - 768) + ListpkgINSTALLATI.Width = ListpkgINSTALLATI.Width + ($RISOLUZIONEX - 1366) + ListpkgINSTALLATI.Height = ListpkgINSTALLATI.Height + ($RISOLUZIONEY - 768) + ListpkgAVAILABLE.Width = ListpkgAVAILABLE.Width + ($RISOLUZIONEX - 1366) + ListpkgAVAILABLE.Height = ListpkgAVAILABLE.Height + ($RISOLUZIONEY - 768) + ListpkgUPGRADE.Width = ListpkgUPGRADE.Width + ($RISOLUZIONEX - 1366) + ListpkgUPGRADE.Height = ListpkgUPGRADE.Height + ($RISOLUZIONEY - 768) + TXTINFOBOX.Width = TXTINFOBOX.Width + ($RISOLUZIONEX - 1366) + TXTINFOBOX.Height = TXTINFOBOX.Height + ($RISOLUZIONEY - 768) + HBox1.Y = HBox1.Y + ($RISOLUZIONEY - 768) + Btnclear.X = Btnclear.X + ($RISOLUZIONEX - 1366) + Btnclear.Y = Btnclear.Y + ($RISOLUZIONEY - 768) + BTNCUSTOM.X = BTNCUSTOM.X + ($RISOLUZIONEX - 1366) + BTNCUSTOM.Y = BTNCUSTOM.Y + ($RISOLUZIONEY - 768) + BTNVIEWLOG.X = BTNVIEWLOG.X + ($RISOLUZIONEX - 1366) + BTNVIEWLOG.Y = BTNVIEWLOG.Y + ($RISOLUZIONEY - 768) + BTNREPLAY.X = BTNREPLAY.X + ($RISOLUZIONEX - 1366) + BTNREPLAY.Y = BTNREPLAY.Y + ($RISOLUZIONEY - 768) + BTNSELECTALL.Y = BTNSELECTALL.Y + ($RISOLUZIONEY - 768) + BTNUNSELECTALL.Y = BTNUNSELECTALL.y + ($RISOLUZIONEY - 768) + btnpkg.Y = btnpkg.Y + ($RISOLUZIONEY - 768) + BTNTABINSTALLED.Y = BTNTABINSTALLED.Y + ($RISOLUZIONEY - 768) + BTNTABAVIABLE.Y = BTNTABAVIABLE.Y + ($RISOLUZIONEY - 768) + BTNTABUPDATE.Y = BTNTABUPDATE.Y + ($RISOLUZIONEY - 768) + BTNADDPKGLIST.Y = BTNADDPKGLIST.y + ($RISOLUZIONEY - 768) + TXTPKGLISTLABEL.Y = TXTPKGLISTLABEL.Y + ($RISOLUZIONEY - 768) + TXTPKGLISTNOME.Y = TXTPKGLISTNOME.Y + ($RISOLUZIONEY - 768) + BTNPKGLISTVIEW.Y = BTNPKGLISTVIEW.Y + ($RISOLUZIONEY - 768) + BTNPKGLISTCLEAN.Y = BTNPKGLISTCLEAN.Y + ($RISOLUZIONEY - 768) + BTNFULLSCREEN.Visible = False + BTNRESIZE.Visible = True +Else + Fmain.X = 0 + Fmain.Y = 0 + Fmain.Height = 700 + Fmain.Width = 1366 + Btnclose.X = 1232 + BTNABOUT.X = 1232 + BTNMYREPO.X = 1232 + BTNPICKER.X = 1232 + Btncommand.Y = 662 + PCTCONNECT.X = 546 + PCTDISCONNECT.X = 546 + Label1.X = 574 + txtlang.X = 770 + CORNICE.Width = 1337 + CORNICE.Height = 490 + listpkg.Width = 294 + Listpkg.Height = 476 + ListpkgINSTALLATI.Width = 1332 - 8 + ListpkgINSTALLATI.Height = 476 + ListpkgAVAILABLE.Width = 1332 - 8 + ListpkgAVAILABLE.Height = 476 + ListpkgUPGRADE.Width = 1332 - 8 + ListpkgUPGRADE.Height = 476 + TXTINFOBOX.Width = 770 + TXTINFOBOX.Height = 476 + HBox1.Y = 662 + Btnclear.X = 1232 + Btnclear.Y = 662 + BTNCUSTOM.X = 1162 + BTNCUSTOM.Y = 662 + BTNVIEWLOG.X = 1232 + BTNVIEWLOG.Y = 630 + BTNREPLAY.X = 1162 + BTNREPLAY.Y = 630 + BTNSELECTALL.Y = 630 + BTNUNSELECTALL.Y = 630 + btnpkg.Y = 630 + BTNTABINSTALLED.Y = 630 + BTNTABAVIABLE.Y = 630 + BTNTABUPDATE.Y = 630 + BTNADDPKGLIST.Y = 630 + TXTPKGLISTLABEL.Y = 630 + TXTPKGLISTNOME.Y = 630 + BTNPKGLISTVIEW.Y = 630 + BTNPKGLISTCLEAN.Y = 630 + BTNRESIZE.Visible = False + BTNFULLSCREEN.Visible = True +Endif +End + +Private Sub CERCAUPDATE() + + Dim s As String + Dim t As Stream + Dim p As Integer + Dim N As Integer + Me.Mouse = Mouse.Wait + ListpkgUPGRADE.Mode = 2 + ListpkgUPGRADE.Enabled = True + BTNTABUPDATE.SetFocus + BTNTABUPDATE_Click + t = Open User.Home & "/.config/dnfdrake/updates.txt" + For Each s In t.Lines + If InStr(s, ".x86_64") Or InStr(s, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr(s, ".i686") And If RTrim$(LTrim$(txtpkg.Text)) = "" Then + p = p + ListpkgUPGRADE.Count +'FIX LUNGHEZZA NOME****************************************** + If Len(s) < 80 Then + s = s & " ***...name too long***" + N = Len(s) + While N < 80 + s = s & " " + N = N + 1 + Wend + Endif +'*********************************************************** + ListpkgUPGRADE.add(p, s & " Upgrades") + If $COLORTEXT = "color" + ListpkgUPGRADE[p].Foreground = &H0033A0D9 + Endif + Else + If $CASE = 1 Then + If InStr(s, ".x86_64") Or InStr(s, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr(s, ".i686") And If InStr(s, RTrim$(LTrim$(txtpkg.Text)), 0, gb.IgnoreCase) + p = p + ListpkgUPGRADE.Count +'FIX LUNGHEZZA NOME****************************************** + If Len(s) < 80 Then + s = s & " ***...name too long***" + N = Len(s) + While N < 80 + s = s & " " + N = N + 1 + Wend + Endif +'*********************************************************** + ListpkgUPGRADE.add(p, s & " Upgrades") + If $COLORTEXT = "color" + ListpkgUPGRADE[p].Foreground = &H0033A0D9 + Endif + Endif + + Else + If InStr(s, ".x86_64") Or InStr(s, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr(s, ".i686") And If InStr(s, RTrim$(LTrim$(txtpkg.Text))) + p = p + ListpkgUPGRADE.Count +'FIX LUNGHEZZA NOME****************************************** + If Len(s) < 80 Then + s = s & " ***...name too long***" + N = Len(s) + While N < 80 + s = s & " " + N = N + 1 + Wend + Endif +'*********************************************************** + ListpkgUPGRADE.add(p, s & " Upgrades") + If $COLORTEXT = "color" + ListpkgUPGRADE[p].Foreground = &H0033A0D9 + Endif + Endif + Endif + Endif + Next + If ListpkgUPGRADE.Count = 0 Then + ListpkgUPGRADE.Mode = 0 + ListpkgUPGRADE.Add(1, $NOTPACKAGES) + If $COLORTEXT = "color" + ListpkgUPGRADE[1].Foreground = &H0033A0D9 + Endif + ListpkgUPGRADE.Enabled = False + Endif + t.Close + Me.Mouse = Mouse.Default + + End + +Private Sub CERCAAVAILABLE() + + Dim s As String + Dim t As Stream + Dim p As Integer + Me.Mouse = Mouse.Wait + ListpkgAVAILABLE.Mode = 2 + ListpkgAVAILABLE.Enabled = True + BTNTABAVIABLE.SetFocus + BTNTABAVIABLE_Click + t = Open User.Home & "/.config/dnfdrake/noninstallati.txt" + For Each s In t.Lines + If InStr(s, ".x86_64") Or InStr(s, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr(s, ".i686") And If RTrim$(LTrim$(txtpkg.Text)) = "" Then + p = p + ListpkgAVAILABLE.Count + ListpkgAVAILABLE.add(p, s & " Available") + If $COLORTEXT = "color" + ListpkgAVAILABLE[p].Foreground = &H00F47E59 + Endif + Else + If $CASE = 1 Then + If InStr(s, ".x86_64") Or InStr(s, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr(s, ".i686") And If InStr(s, RTrim$(LTrim$(txtpkg.Text)), 0, gb.IgnoreCase) + p = p + ListpkgAVAILABLE.Count + ListpkgAVAILABLE.add(p, s & " Available") + If $COLORTEXT = "color" + ListpkgAVAILABLE[p].Foreground = &H00F47E59 + Endif + Endif + Else + If InStr(s, ".x86_64") Or InStr(s, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr(s, ".i686") And If InStr(s, RTrim$(LTrim$(txtpkg.Text))) + p = p + ListpkgAVAILABLE.Count + ListpkgAVAILABLE.add(p, s & " Available") + If $COLORTEXT = "color" + ListpkgAVAILABLE[p].Foreground = &H00F47E59 + Endif + Endif + Endif + Endif + Next + If ListpkgAVAILABLE.Count = 0 Then + ListpkgAVAILABLE.Mode = 0 + ListpkgAVAILABLE.Add(1, $NOTPACKAGES) + If $COLORTEXT = "color" + ListpkgAVAILABLE[1].Foreground = &H00F47E59 + Endif + ListpkgAVAILABLE.Enabled = False + Endif + t.Close + Me.Mouse = Mouse.Default + +End + +Private Sub CERCAINSTALLED() + + Dim s As String + Dim t As Stream + Dim p As Integer + Me.Mouse = Mouse.Wait + ListpkgINSTALLATI.Mode = 2 + ListpkgINSTALLATI.Enabled = True + BTNTABINSTALLED.SetFocus + BTNTABINSTALLED_Click + t = Open User.Home & "/.config/dnfdrake/installati.txt" + For Each s In t.Lines + If InStr(s, ".x86_64") Or InStr(s, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr(s, ".i686") And If RTrim$(LTrim$(txtpkg.Text)) = "" Then + p = p + ListpkgINSTALLATI.Count + ListpkgINSTALLATI.add(p, s & " Installed") + If $COLORTEXT = "color" + ListpkgINSTALLATI[p].Foreground = &H0038D079 + Endif + Else + If $CASE = 1 Then + If InStr(s, ".x86_64") Or InStr(s, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr(s, ".i686") And If InStr(s, RTrim$(LTrim$(txtpkg.Text)), 0, gb.IgnoreCase) Then + p = p + ListpkgINSTALLATI.Count + ListpkgINSTALLATI.add(p, s & " Installed") + If $COLORTEXT = "color" + ListpkgINSTALLATI[p].Foreground = &H0038D079 + Endif + Endif + Else + If InStr(s, ".x86_64") Or InStr(s, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr(s, ".i686") And If InStr(s, RTrim$(LTrim$(txtpkg.Text))) Then + p = p + ListpkgINSTALLATI.Count + ListpkgINSTALLATI.add(p, s & " Installed") + If $COLORTEXT = "color" + ListpkgINSTALLATI[p].Foreground = &H0038D079 + Endif + Endif + Endif + Endif + Next + If ListpkgINSTALLATI.Count = 0 Then + ListpkgINSTALLATI.Mode = 0 + ListpkgINSTALLATI.Add(1, $NOTPACKAGES) + If $COLORTEXT = "color" + ListpkgINSTALLATI[1].Foreground = &H0038D079 + Endif + ListpkgINSTALLATI.Enabled = False + Endif + t.Close + Me.Mouse = Mouse.Default + + +End + +Private Sub CERCAAUTOREMOVE() + + Dim s As String + Dim t As Stream + Dim p As Integer + Me.Mouse = Mouse.Wait + ListpkgINSTALLATI.Mode = 2 + ListpkgINSTALLATI.Enabled = True + BTNTABINSTALLED.SetFocus + BTNTABINSTALLED_Click + t = Open User.Home & "/.config/dnfdrake/log/last.log" + For Each s In t.Lines + If InStr(s, ".x86_64") Or InStr(s, ".noarch") Or InStr(s, ".znver1") Or InStr(s, ".aarch64") Or InStr(s, ".i686") Then + p = p + ListpkgINSTALLATI.Count + ListpkgINSTALLATI.add(p, s & " Autoremove") + If $COLORTEXT = "color" + ListpkgINSTALLATI[p].Foreground = &HFF7F00 + Endif + Endif + Next + If ListpkgINSTALLATI.Count = 0 Then + ListpkgINSTALLATI.Mode = 0 + ListpkgINSTALLATI.Add(1, $NOTPACKAGES) + If $COLORTEXT = "color" + ListpkgINSTALLATI[1].Foreground = &HFF7F00 + Endif + ListpkgINSTALLATI.Enabled = False + Else + ListpkgINSTALLATI.SelectAll + Endif + t.Close + Me.Mouse = Mouse.Default + +End + + +Private Sub BTNINSTALVIEW() + If $SECUREMODE = "SECURE" Then + btninstall.Enabled = False + BTNREINSTALL.Enabled = True + BTNDOWNDGRADE.Enabled = True + btnremove.Enabled = True + BTNPKGUPDATE.Enabled = False + If TXTPKGLISTNOME.Text = "None" Then + Else + TXTPKGLISTNOME.Text = "Remove Package List" + Endif + Endif +End + +Private Sub BTNAVAILABLEVIEW() + If $SECUREMODE = "SECURE" Then + btninstall.Enabled = True + BTNREINSTALL.Enabled = False + BTNDOWNDGRADE.Enabled = False + btnremove.Enabled = False + BTNPKGUPDATE.Enabled = False + If TXTPKGLISTNOME.Text = "None" Then + Else + TXTPKGLISTNOME.Text = "Install Package List" + Endif + Endif +End + +Private Sub BTNUPDATEVIEW() + If $SECUREMODE = "SECURE" Then + btninstall.Enabled = False + BTNREINSTALL.Enabled = False + BTNDOWNDGRADE.Enabled = False + btnremove.Enabled = False + BTNPKGUPDATE.Enabled = True + If TXTPKGLISTNOME.Text = "None" Then + Else + TXTPKGLISTNOME.Text = "Update Package List" + Endif + Endif +End + +Private Sub BTNALLVIEW() + btninstall.Enabled = True + BTNREINSTALL.Enabled = True + BTNDOWNDGRADE.Enabled = True + btnremove.Enabled = True + BTNPKGUPDATE.Enabled = True + +End + +Private Sub FRUNSHOW() + 'GESTIONE FINESTRA FRUN*************************** +If $SECUREMODE = "SECURE" Then + If $FRUNPW = 1 Then + FRUN.Show + Endif + $FRUNMAIN = 1 +Endif +'************************************************* +End +Private Sub DSTRSYNC() + + Dim $UPDATERETRY As String + $WAITSUSPEND = 0 + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + + txtConsole.Text = "" + 'Shell "find /var/cache/dnf/ -iname " & Chr(34) & "*.rpm" & Chr(34) Wait To $UPDATERETRY + Shell "ls -R /var/cache/dnf |grep rpm" Wait To $UPDATERETRY 'QUESTO COMANDO SOSTITUISCE QUELLO PRECEDENTE PER FIX DEL RESUMEUPDATA IN ROSALINUX + + If InStr($UPDATERETRY, "rpm") > 0 Then + FUPDATERESUME.Show + Else + Me.Mouse = Mouse.Wait + ' $MEMOCOMMAND = "RECOVERSUSPEND" + If $LOG = "NOLOG" + Print #$hProcess, "sudo dnf clean all; dnf clean all; dnf repolist; sudo dnf --refresh --allowerasing distro-sync" & $VERBOSE & gb.NewLine; + FRUNSHOW + Wait 2 + $MEMOCOMMAND = "RECOVERSUSPEND" + Endif + If $LOG = "LOG" Then + DATATIME + Print #$hProcess, "sudo dnf clean all; dnf clean all; dnf repolist; sudo dnf --refresh --allowerasing distro-sync | tee " & User.Home & "/.config/dnfdrake/log/" & $DATATIME & "-dnfdrakelog-sync.log " & User.Home & "/.config/dnfdrake/log/last.log" & gb.NewLine; + FRUNSHOW + 'Wait 2 + Endif + If $AUTOSUSPEND = 1 Then + $MEMOCOMMAND = "RECOVERSUSPEND" + Endif + Endif +End + +Private Sub DSTUPDATE() + Dim $UPDATERETRY As String + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Me.Mouse = Mouse.Wait + txtConsole.Text = "" + 'Shell "find /var/cache/dnf/ -iname " & Chr(34) & "*.rpm" & Chr(34) Wait To $UPDATERETRY + Shell "ls -R /var/cache/dnf |grep rpm " Wait To $UPDATERETRY 'QUESTO COMANDO SOSTITUISCE QUELLO PRECEDENTE PER FIX DEL RESUMEUPDATA IN ROSALINUX + If InStr($UPDATERETRY, "rpm") > 0 Then + FUPDATERESUME.Show + Else + If $LOG = "NOLOG" + Print #$hProcess, $UPDATE & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + If $LOG = "LOG" Then + DATATIME + Print #$hProcess, $UPDATE & "| tee " & User.Home & "/.config/dnfdrake/log/" & $DATATIME & "-dnfdrakelog-update.log " & User.Home & "/.config/dnfdrake/log/last.log" & gb.NewLine; + FRUNSHOW + Endif + If $AUTOSUSPEND = 1 Then + $MEMOCOMMAND = "RECOVERSUSPEND" + Endif + Endif +End + + +Public Sub TMPLISTCLEAN() + If Exist(User.Home &/ ".config/dnfdrake/log/rempkglist.txt") Then + Shell "echo > " & User.Home &/ ".config/dnfdrake/log/rempkglist.txt" Wait + Endif + If Exist(User.Home &/ ".config/dnfdrake/log/addpkglist.txt") Then + Shell "echo > " & User.Home &/ ".config/dnfdrake/log/addpkglist.txt" Wait + Endif + If Exist(User.Home &/ ".config/dnfdrake/log/updpkglist.txt") Then + Shell "echo > " & User.Home &/ ".config/dnfdrake/log/updpkglist.txt" Wait + Endif + TXTPKGLISTNOME.Text = "None" +End + +Public Sub Cmbtipo_Click() +If Cmbtipo.Text = "Autoremove" Then + txtpkg.Text = $AUTOREMOVETEXT + Cmbtipo.Tooltip = $AUTOREMOVETEXT + txtpkg.Enabled = False +Else + txtpkg.Enabled = True + Cmbtipo.Tooltip = $CMBTOOLTIP + txtpkg.Text = "" + txtpkg.SetFocus +Endif +End + +Public Sub Label1_MouseDown() +End + + +Public Sub Btncommand_Click() + + Btnclear_Click + txtCommand.SetFocus + If txtCommand.Visible = False Then + Btncommand.Text = Btncommand.Text & " ^" + HBox1.Visible = True + HBox1.Tooltip = $HBOX1TOOLTIP + txtCommand.Visible = True + btnCtrlC.Visible = True + btnCtrlZ.Visible = True + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Else + Btncommand.Text = Left(Btncommand.Text, -2) + HBox1.Visible = False + HBox1.Tooltip = "" + txtCommand.Visible = False + btnCtrlC.Visible = False + btnCtrlZ.Visible = False + Btnexp2_Click + + Endif + +End + +Public Sub Btncrono_Click() + + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + txtConsole.Text = "" + Print #$hProcess, "dnf history" & gb.NewLine; + +End + + +Public Sub Btnclear_Click() + + Listpkg.SelectAll + Listpkg.Clear + Listpkg.UnSelectAll + + ListpkgINSTALLATI.SelectAll + ListpkgINSTALLATI.Clear + ListpkgINSTALLATI.UnselectAll + + ListpkgAVAILABLE.SelectAll + ListpkgAVAILABLE.Clear + ListpkgAVAILABLE.UnselectAll + + ListpkgUPGRADE.SelectAll + ListpkgUPGRADE.Clear + ListpkgUPGRADE.UnselectAll + + txtConsole.text = "" +'GESTIONE PER POTER INSTALLARE DA TXTPKG SE PRESENTI AGGIONAMENTI + If $OFFLINE = 1 Then + If Btncommand.Text = Btncommand.Text Then + If Btnexp2.Text = "EXP2" + Btnexp2_Click + Endif + TABHIDE + Listpkg.Visible = False + Endif + Else + If $STATUS = 0 + Listpkg.Visible = False + If Btnexp1.Text = "UEXP1" Then + Btnexp1_Click + Endif + Endif + Endif + If $COLORTEXT = "color" + CORNICE.Background = True + Endif + BTNALLVIEW + Me.Mouse = Mouse.Default + $PROGRESSBARFORCESUSPEND = 0 +End + +Public Sub BTNABOUT_Click() + FABOUT.Show + End + + + + +Public Sub btnpkg_Click() + Dim a As String + Dim s As String + If ListpkgINSTALLATI.Visible = True Then + For Each a In ListpkgINSTALLATI.Selection + s = ListpkgINSTALLATI[a].Text + s = Scan(s, "* * *")[0] + txtpkg.Text = txtpkg.Text & " " & s + ' ListpkgINSTALLATI.Remove(a) + Next + ListpkgINSTALLATI.UnSelectAll + Else + If ListpkgAVAILABLE.Visible = True Then + For Each a In ListpkgAVAILABLE.Selection + s = ListpkgAVAILABLE[a].Text + s = Scan(s, "* * *")[0] + txtpkg.Text = txtpkg.Text & " " & s + 'ListpkgAVAILABLE.Remove(a) + Next + ListpkgAVAILABLE.UnSelectAll + Else + If ListpkgUPGRADE.Visible = True Then + For Each a In ListpkgUPGRADE.Selection + s = ListpkgUPGRADE[a].Text + s = Scan(s, "* * *")[0] + txtpkg.Text = txtpkg.Text & " " & s + ' ListpkgUPGRADE.Remove(a) + Next + ListpkgUPGRADE.UnSelectAll + Else + For Each a In Listpkg.Selection + txtpkg.text = txtpkg.text & Listpkg[a].Text & " " + ' Listpkg.Remove(a) + Next + Listpkg.UnSelectAll + Endif + Endif + Endif + +End + + +Public Sub BTNADDPKGLIST_Click() + Dim a As String + Dim s As String + If ListpkgINSTALLATI.Visible = True Then + For Each a In ListpkgINSTALLATI.Selection + s = ListpkgINSTALLATI[a].Text + s = Scan(s, "* * *")[0] + Shell "echo " & s & " >> " & User.Home &/ ".config/dnfdrake/log/rempkglist.txt" Wait + 'txtpkg.Text = User.Home &/ ".config/dnfdrake/log/rempkglist.txt" + TXTPKGLISTNOME.Text = "Remove Package List" + Next + ListpkgINSTALLATI.UnSelectAll + Else + If ListpkgAVAILABLE.Visible = True Then + For Each a In ListpkgAVAILABLE.Selection + s = ListpkgAVAILABLE[a].Text + s = Scan(s, "* * *")[0] + Shell "echo " & s & " >> " & User.Home &/ ".config/dnfdrake/log/addpkglist.txt" Wait + 'txtpkg.Text = User.Home &/ ".config/dnfdrake/log/addpkglist.txt" + TXTPKGLISTNOME.Text = "Install Package List" + Next + ListpkgAVAILABLE.UnSelectAll + Else + If ListpkgUPGRADE.Visible = True Then + For Each a In ListpkgUPGRADE.Selection + s = ListpkgUPGRADE[a].Text + s = Scan(s, "* * *")[0] + Shell "echo " & s & " >> " & User.Home &/ ".config/dnfdrake/log/updpkglist.txt" Wait + 'txtpkg.Text = User.Home &/ ".config/dnfdrake/log/updpkglist.txt" + TXTPKGLISTNOME.Text = "Update Package List" + Next + ListpkgUPGRADE.UnSelectAll + 'IN MODALITÀ ONLINE LA SELEZIONE IN LISTA NON LAVORA + ' Else + ' For Each a In Listpkg.Selection + ' txtpkg.text = txtpkg.text & Listpkg[a].Text & " " + ' ' Listpkg.Remove(a) + ' Next + ' Listpkg.UnSelectAll + Endif + Endif + Endif + + + +End + +Public Sub txtlang_MouseDown() + +End + +Public Sub Listpkg_DblClick() + + txtpkg.Text = "" + If Listpkg.Count > 0 Then + Listpkg.MoveCurrent + Listpkg.Item.Selected = True + txtpkg.Text = txtpkg.Text & " " & Listpkg.Item.Text + Listpkg.UnselectAll + ' Listpkg.Item.Selected = False + ' Listpkg.Item.Delete + Endif +End + +Public Sub ListpkgINSTALLATI_DblClick() + Dim s As String + txtpkg.Text = "" + If ListpkgINSTALLATI.Count > 0 Then + ListpkgINSTALLATI.MoveCurrent + ListpkgINSTALLATI.Item.Selected = True + S = ListpkgINSTALLATI.Item.Text + s = Scan(s, "* * *")[0] + txtpkg.Text = txtpkg.Text & " " & s + ListpkgINSTALLATI.UnselectAll + ' ListpkgINSTALLATI.Item.Delete + Endif + +End + +Public Sub ListpkgAVAILABLE_DblClick() + Dim s As String + txtpkg.Text = "" + If ListpkgAVAILABLE.Count > 0 Then + ListpkgAVAILABLE.MoveCurrent + ListpkgAVAILABLE.Item.Selected = True + S = ListpkgAVAILABLE.Item.Text + s = Scan(s, "* * *")[0] + txtpkg.Text = txtpkg.Text & " " & s + ListpkgAVAILABLE.UnselectAll + ' ListpkgAVAILABLE.Item.Selected = False + ' ListpkgAVAILABLE.Item.Delete + Endif +End + +Public Sub ListpkgUPGRADE_DblClick() + + + Dim s As String + txtpkg.Text = "" + If ListpkgUPGRADE.Count > 0 Then + ListpkgUPGRADE.MoveCurrent + ListpkgUPGRADE.Item.Selected = True + S = ListpkgUPGRADE.Item.Text + s = Scan(s, "* * *")[0] + txtpkg.Text = txtpkg.Text & " " & s + ListpkgUPGRADE.UnselectAll + ' ListpkgUPGRADE.Item.Selected = False + ' ListpkgUPGRADE.Item.Delete + Endif +End + +Public Sub ListpkgINSTALLATI_Menu() + + Dim s As String + + If ListpkgINSTALLATI.Count > 0 Then + ListpkgINSTALLATI.MoveCurrent + Try ListpkgINSTALLATI.Item.Selected = True + If Error Then + Else + s = ListpkgINSTALLATI.Item.Text + ListpkgINSTALLATI.Item.Selected = False + Endif + Endif + + If $INFOENABLED = 0 Then + If s = "" + Else + TXTINFOBOX.Visible = True + Wait 0.5 + Shell "dnf info " & s Wait To $INFOTEXT + TXTINFOBOX.Text = $INFOTEXT + TXTINFOBOX.SetFocus + $INFOENABLED = 1 + Endif + Endif +End + +Public Sub ListpkgAVAILABLE_Menu() + + Dim s As String + + If ListpkgAVAILABLE.Count > 0 Then + ListpkgAVAILABLE.MoveCurrent + Try ListpkgAVAILABLE.Item.Selected = True + If Error Then + Else + s = ListpkgAVAILABLE.Item.Text + ListpkgAVAILABLE.Item.Selected = False + Endif + Endif + + If $INFOENABLED = 0 Then + If s = "" + Else + TXTINFOBOX.Visible = True + Wait 0.5 + Shell "dnf info " & s Wait To $INFOTEXT + TXTINFOBOX.Text = $INFOTEXT + TXTINFOBOX.SetFocus + $INFOENABLED = 1 + Endif + Endif +End + +Public Sub ListpkgUPGRADE_Menu() + + Dim s As String + + If ListpkgUPGRADE.Count > 0 Then + ListpkgUPGRADE.MoveCurrent + Try ListpkgUPGRADE.Item.Selected = True + If Error Then + Else + s = ListpkgUPGRADE.Item.Text + ListpkgUPGRADE.Item.Selected = False + Endif + Endif + + If $INFOENABLED = 0 Then + If s = "" + Else + TXTINFOBOX.Visible = True + Wait 0.5 + Shell "dnf info " & s Wait To $INFOTEXT + TXTINFOBOX.Text = $INFOTEXT + TXTINFOBOX.SetFocus + $INFOENABLED = 1 + Endif + Endif +End +Public Sub TXTINFOBOX_LostFocus() + + TXTINFOBOX.Text = "Loading..." + If TXTINFOBOX.Visible = True Then + TXTINFOBOX.Visible = False + $INFOENABLED = 0 + Endif + +End + +Public Sub btnstop_Click() + +$ListpkgCK = 0 +$ListpkgWR = 0 +$CHKERROR = 0 +Print #$hProcess, Chr$(3); +' Wait 0.1 +' Print #$hProcess, Chr$(3); +Me.Mouse = Mouse.Default +End + +Public Sub Btndownload_Click() + Dim a As String + Dim s As String + Dim spkg As String + spkg = "" +'APRE LA FINESTRA PER SELEZIONARE DOVE SCARICARE IL PACCHETTO + Dialog.Title = $DIALOGDIRTITLE + Dialog.Path = $pathdir 'IMPOSTA LA FINESTRA IN HOME UTENTE + If Dialog.SelectDirectory() Then + Else + $pathdir = Replace(Dialog.Path, " ", Chr$(92) & " ") ' serve agestire percorsi con gli spazi + txtConsole.Text = " " + Print #$hProcess, "cd " & $pathdir +'************************************************************* + If ListpkgINSTALLATI.Visible = False And ListpkgAVAILABLE.Visible = False And ListpkgUPGRADE.Visible = False And If Listpkg.Visible = False Then + If txtpkg.text = "" Then + Message.Info($SELECTPKG, "OK") + Else + txtConsole.Text = "" + Print #$hProcess, "dnf download " & txtpkg.Text & $VERBOSE & gb.NewLine; + If $SECUREMODE = "SECURE" Then + FPROGRESSWAIT.Show + Endif + Endif + Else + If $OFFLINE = 1 Then + If ListpkgINSTALLATI.Visible = True + For Each a In ListpkgINSTALLATI.Selection + s = ListpkgINSTALLATI[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgINSTALLATI.Remove(a) + Next + ListpkgINSTALLATI.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + Print #$hProcess, "dnf download " & spkg & $VERBOSE & gb.NewLine; + If $SECUREMODE = "SECURE" Then + FPROGRESSWAIT.Show + Endif + Endif + Endif + If ListpkgAVAILABLE.Visible = True + For Each a In ListpkgAVAILABLE.Selection + s = ListpkgAVAILABLE[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgAVAILABLE.Remove(a) + Next + ListpkgAVAILABLE.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + Print #$hProcess, "dnf download " & spkg & $VERBOSE & gb.NewLine; + If $SECUREMODE = "SECURE" Then + FPROGRESSWAIT.Show + Endif + Endif + Endif + If ListpkgUPGRADE.Visible = True + For Each a In ListpkgUPGRADE.Selection + s = ListpkgUPGRADE[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgUPGRADE.Remove(a) + Next + ListpkgUPGRADE.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + Print #$hProcess, "dnf download " & spkg & $VERBOSE & gb.NewLine; + If $SECUREMODE = "SECURE" Then + FPROGRESSWAIT.Show + Endif + Endif + Endif + Else + If Listpkg.Visible = True Then + For Each a In Listpkg.Selection + s = Listpkg[a].Text + ' s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + Listpkg.Remove(a) + Next + Listpkg.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + Print #$hProcess, "dnf download " & spkg & $VERBOSE & gb.NewLine; + If $SECUREMODE = "SECURE" Then + FPROGRESSWAIT.Show + Endif + Endif + Endif + Endif + Endif + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Endif +End + +Public Sub BtnCFG_Click() + + FCONFIG.Show + +End + +Public Sub Btnpathfile_Click() +'CODICE PREMODIFICA************************************************************** +' txtpkg.Text = "" +' Btnclear_Click +' Dim $PATHFILE As String +' Dialog.Title = $DIALOGFILETITLE +' Dialog.Filter = ["*.rpm", "Package", "*.txt", "List Package", "*", "All files"] +' Dialog.Path = user.home +' If Dialog.OpenFile(True) Then Return +' For Each $PATHFILE In Dialog.Paths +' txtpkg.Text = txtpkg.Text & " " & $PATHFILE +' Next +' If txtpkg.Length > 1000 Then +' Message.Info("You seem to be installing many packages at once, this can cause errors! I recommend you create a list and install with that!", "OK") +' Endif +' Catch +' Message.Info(Error.Text) +'******************************************************************************* +txtpkg.Text = "" +Btnclear_Click +Dim $PATHFILE As String +Dim $ITEMLISTA As String +Dim $TXTLISTA As String[] +Dialog.Title = $DIALOGFILETITLE +Dialog.Filter = ["*.rpm", "Package", "*.txt", "List Package", "*", "All files"] +Dialog.Path = $pathdir + If Dialog.OpenFile(True) Then Return + For Each $PATHFILE In Dialog.Paths + txtpkg.Text = txtpkg.Text & " " & Replace$($PATHFILE, " ", Chr$(92) & " ") + Next + If txtpkg.Length > 1000 Then + Shell "echo " & "" & "> " & User.Home &/ ".config/dnfdrake/log/pkglist.txt" Wait + $TXTLISTA = Split(txtpkg.Text, " ") + txtpkg.Text = "" + Message.Info("It seems that you are installing many packages at the same time, this can cause errors, to avoid this DnfDrake has created a temporary list for installation!", "OK") + For Each $ITEMLISTA In $TXTLISTA + Shell "echo " & Replace$($ITEMLISTA, " ", Chr$(92) & " ") & " > > " & User.Home &/ ".config / dnfdrake / log / pkglist.txt " Wait + Next + txtpkg.Text = User.Home &/ ".config/dnfdrake/log/pkglist.txt" + Endif +Catch + Message.Info("Si è verificato un errore, Riprovare", "Ok") +End + +Public Sub Btnpathpkglist_Click() + + Dim $PATHFILE As String + + txtpkg.Text = "" + Btnclear_Click + If Exist(User.Home &/ ".config/dnfdrake/log/pkglist.txt") Then + Shell "echo > " & User.Home &/ ".config/dnfdrake/log/pkglist.txt" Wait + Endif + Dialog.Title = $DIALOGFILETITLE + Dialog.Filter = ["*.rpm", "Package", "*", "All files"] + Dialog.Path = $pathdir + If Dialog.OpenFile(True) Then Return + For Each $PATHFILE In Dialog.Paths + Shell "echo " & Replace$($PATHFILE, " ", Chr$(92) & " ") & ">> " & User.Home &/ ".config/dnfdrake/log/pkglist.txt" Wait + Next + + Dialog.Path = $pathdir 'IMPOSTA LA FINESTRA IN CUI SALVARE LA LISTA' + Dialog.Filter = ["*.txt", "Text Files"] + If Dialog.SaveFile() Then Return + Fmain.$pathdir = Replace(Dialog.Path, " ", Chr$(92) & " ") ' serve agestire percorsi con gli spazi + Shell "cp " & User.Home &/ ".config/dnfdrake/log/pkglist.txt " & Dialog.Path Wait + +Catch + Message.Info("Si è verificato un errore, Riprovare", "Ok") + +End + +Public Sub Btncleartxtpkg_Click() + + txtpkg.Text = "" + +End + + + +' Public Sub BTNPICKER_Click() +' +' If Btnexp2.Text = "EXP2" Then +' Btnexp2_Click +' Endif +' txtConsole.Text = "" +' $MEMOCOMMAND = "dnf repolist" +' Print #$hProcess, "om-repo-picker " & gb.NewLine; +' +' End + +Public Sub TXTSTATUS_MouseDown() +End + + +Public Sub BTNSELECTALL_Click() +If ListpkgINSTALLATI.Visible = True Then + ListpkgINSTALLATI.SelectAll + Else + If ListpkgAVAILABLE.Visible = True Then + ListpkgAVAILABLE.SelectAll + Else + If ListpkgUPGRADE.Visible = True Then + ListpkgUPGRADE.SelectAll + Else + Listpkg.SelectAll + Endif + Endif +Endif + +End + +Public Sub BTNUNSELECTALL_Click() + If ListpkgINSTALLATI.Visible = True Then + ListpkgINSTALLATI.UnSelectAll + Else + If ListpkgAVAILABLE.Visible = True Then + ListpkgAVAILABLE.UnSelectAll + Else + If ListpkgUPGRADE.Visible = True Then + ListpkgUPGRADE.UnSelectAll + Else + Listpkg.UnselectAll + Endif + Endif +Endif + +End + + + +Public Sub BTNDOWNDGRADE_Click() + + Dim a As String + Dim s As String + Dim spkg As String + spkg = "" +'VERIFICA NUMERO DI PACCHETTI SELEZIONATI************************************* + If Val(Str(ListpkgINSTALLATI.Selection.Count)) > 10 Then + Message.Info("It seems that you are select many packages at the same time, this can cause errors, to avoid this DnfDrake has created a temporary list for downgrade!", "OK") + BTNADDPKGLIST_Click + Endif +'***************************************************************************** + If TXTPKGLISTNOME.Visible = True And If TXTPKGLISTNOME.Text = "Remove Package List" Then + Print #$hProcess, $DOWNGRADE & "$(cat " & User.Home &/ ".config/dnfdrake/log/rempkglist.txt" & " )" & $VERBOSE & gb.NewLine; + Btnclear_Click + FRUNSHOW + Else + If Listpkg.Visible = False And If ListpkgINSTALLATI.Visible = False + If txtpkg.text = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Right(txtpkg.Text, 4) = ".txt" Then '*************Verifica se esiste un elenco di pacchetti da installare + Print #$hProcess, $DOWNGRADE & "$(cat " & txtpkg.Text & " )" & $VERBOSE & gb.NewLine; + Else + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + txtConsole.Text = "" + Print #$hProcess, $DOWNGRADE & txtpkg.Text & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + Endif + + If ListpkgAVAILABLE.Visible = True Or If ListpkgUPGRADE.Visible = True Then + Message.Info($SELECTPKG, "OK") + Else + + If ListpkgINSTALLATI.Visible = True + For Each a In ListpkgINSTALLATI.Selection + s = ListpkgINSTALLATI[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgINSTALLATI.Remove(a) + Next + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + ListpkgINSTALLATI.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Print #$hProcess, $DOWNGRADE & spkg & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + If $OFFLINE = 0 Then + If Listpkg.Visible = True Then + If Cmbtipo.index = 1 Or If Cmbtipo.index = 0 + For Each a In Listpkg.Selection + s = Listpkg[a].Text + ' s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + Listpkg.Remove(a) + Next + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + Listpkg.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Print #$hProcess, $DOWNGRADE & spkg & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + Endif + Endif + Endif + Endif +End + +Public Sub BTNCUSTOM_Click() + + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + + Print #$hProcess, $CUSTOMCMD & txtpkg.Text & gb.NewLine; + txtConsole.Text = "" + + +End + +Public Sub BTNEXTRA_Click() + + Btnclear_Click + FEXTRA.Show + +End + + +Public Sub BTNTABINSTALLED_Click() +ListpkgINSTALLATI.Visible = True +ListpkgAVAILABLE.Visible = False +ListpkgUPGRADE.Visible = False + If $COLORTEXT = "color" + CORNICE.Background = &H2A9A4F& + Endif + BTNINSTALVIEW +End + +Public Sub BTNTABAVIABLE_Click() +ListpkgINSTALLATI.Visible = False +ListpkgAVAILABLE.Visible = True +ListpkgUPGRADE.Visible = False + If $COLORTEXT = "color" + CORNICE.Background = &HE0703F& + Endif + BTNAVAILABLEVIEW +End + + +Public Sub BTNTABUPDATE_Click() +ListpkgINSTALLATI.Visible = False +ListpkgAVAILABLE.Visible = False +ListpkgUPGRADE.Visible = True + If $COLORTEXT = "color" + CORNICE.Background = &H257ED0& + Endif + BTNUPDATEVIEW +End + + +Public Sub ListpkgINSTALLATI_Click() +End + +Public Sub Listpkg_Click() +End + +Public Sub ListpkgAVAILABLE_Click() +End + + + + +Public Sub CHKoffline_Click() + + + +End + +Public Sub TimerUPLISTE_Timer() + FLOADLISTE.Show +'GESTIONE BLOCCHI SPERIMENTALE DA PROVARE + 'If $SECUREMODE = "SECURE" Then + ' TimerSECUREDOG.Enabled = True + 'Endif + '************************************** + TimerUPLISTE.Enabled = False +' CHKSUSPEND.Enabled = True + +End + +Public Sub ListpkgUPGRADE_Click() +End + + + + +Public Sub BTNVERSLOCK_Click() + + Dim a As String + Dim s As String + Dim spkg As String + spkg = "" + ' Btnclear_Click + + + If CMBVERSLOCK.index = 0 Then 'List + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Print #$hProcess, "dnf versionlock list " & $VERBOSE & gb.NewLine; + Endif +'************************************************************************** + +If CMBVERSLOCK.index = 1 Then 'Add + + If Listpkg.Visible = False And If ListpkgINSTALLATI.Visible = False And If ListpkgAVAILABLE.Visible = False And If ListpkgUPGRADE.Visible = False + If txtpkg.text = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + spkg = txtpkg.Text + txtpkg.Text = "" + Btnclear_Click + Print #$hProcess, "sudo dnf versionlock add " & spkg & $VERBOSE & gb.NewLine; + Endif + Else + If $OFFLINE = 0 Then + If Listpkg.Visible = True + For Each a In Listpkg.Selection + s = Listpkg[a].Text + 's = Scan(s, "* * *")[0] + spkg = spkg & " " & s + Listpkg.Remove(a) + Next + Listpkg.UnSelectAll + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Btnclear_Click + TABHIDE + Listpkg.Visible = False + Print #$hProcess, "sudo dnf versionlock add " & spkg & $VERBOSE & gb.NewLine; + Endif + Endif + Else + If ListpkgINSTALLATI.Visible = True + For Each a In ListpkgINSTALLATI.Selection + s = ListpkgINSTALLATI[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgINSTALLATI.Remove(a) + Next + ListpkgINSTALLATI.UnSelectAll + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Btnclear_Click + TABHIDE + Listpkg.Visible = False + Print #$hProcess, "sudo dnf versionlock add " & spkg & $VERBOSE & gb.NewLine; + Endif + Endif + + If ListpkgAVAILABLE.Visible = True + For Each a In ListpkgAVAILABLE.Selection + s = ListpkgAVAILABLE[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgAVAILABLE.Remove(a) + Next + ListpkgAVAILABLE.UnSelectAll + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Btnclear_Click + TABHIDE + Listpkg.Visible = False + Print #$hProcess, "sudo dnf versionlock add " & spkg & $VERBOSE & gb.NewLine; + Endif + Endif + + If ListpkgUPGRADE.Visible = True + For Each a In ListpkgUPGRADE.Selection + s = ListpkgUPGRADE[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgUPGRADE.Remove(a) + Next + ListpkgUPGRADE.UnSelectAll + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Btnclear_Click + TABHIDE + Listpkg.Visible = False + Print #$hProcess, "sudo dnf versionlock add " & spkg & $VERBOSE & gb.NewLine; + Endif + Endif + + Endif + + Endif + +Endif + +'************************************************************************** +If CMBVERSLOCK.index = 2 Then 'Delete + + If Listpkg.Visible = False And If ListpkgINSTALLATI.Visible = False And If ListpkgAVAILABLE.Visible = False And If ListpkgUPGRADE.Visible = False + If txtpkg.text = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + spkg = txtpkg.Text + txtpkg.Text = "" + Btnclear_Click + Print #$hProcess, "sudo dnf versionlock delete " & spkg & $VERBOSE & gb.NewLine; + Endif + Else + If $OFFLINE = 0 Then + If Listpkg.Visible = True + For Each a In Listpkg.Selection + s = Listpkg[a].Text + 's = Scan(s, "* * *")[0] + spkg = spkg & " " & s + Listpkg.Remove(a) + Next + Listpkg.UnSelectAll + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Btnclear_Click + TABHIDE + Listpkg.Visible = False + Print #$hProcess, "sudo dnf versionlock delete " & spkg & $VERBOSE & gb.NewLine; + Endif + Endif + Else + If ListpkgINSTALLATI.Visible = True + For Each a In ListpkgINSTALLATI.Selection + s = ListpkgINSTALLATI[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgINSTALLATI.Remove(a) + Next + ListpkgINSTALLATI.UnSelectAll + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Btnclear_Click + TABHIDE + Listpkg.Visible = False + Print #$hProcess, "sudo dnf versionlock delete " & spkg & $VERBOSE & gb.NewLine; + Endif + Endif + + If ListpkgAVAILABLE.Visible = True + For Each a In ListpkgAVAILABLE.Selection + s = ListpkgAVAILABLE[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgAVAILABLE.Remove(a) + Next + ListpkgAVAILABLE.UnSelectAll + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Btnclear_Click + TABHIDE + Listpkg.Visible = False + Print #$hProcess, "sudo dnf versionlock delete " & spkg & $VERBOSE & gb.NewLine; + Endif + Endif + + If ListpkgUPGRADE.Visible = True + For Each a In ListpkgUPGRADE.Selection + s = ListpkgUPGRADE[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgUPGRADE.Remove(a) + Next + ListpkgUPGRADE.UnSelectAll + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Btnclear_Click + TABHIDE + Listpkg.Visible = False + Print #$hProcess, "sudo dnf versionlock delete " & spkg & $VERBOSE & gb.NewLine; + Endif + Endif + + Endif + + Endif + +Endif + + + If CMBVERSLOCK.index = 3 Then 'Clear + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Print #$hProcess, "sudo dnf versionlock clear " & $VERBOSE & gb.NewLine; + Endif + +End + +Public Sub CMBVERSLOCK_Click() + + + +End + +Public Sub BTNDISTUPDATE_Click() + 'DISABILITAZIONE SUSPEND*************************** + If $WAITSUSPEND = 0 Then + If $AUTOSUSPEND = 1 Then + Btnclear_Click + txtConsole.Text = "" + If $SECUREMODE = "SECURE" Then + Fmain.Enabled = False + Endif + $MEMOCOMMAND = "DISTROSYNCWAIT" + $WAITSUSPEND = 1 + Print #$hProcess, "sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target" & gb.NewLine; + Else + DSTRSYNC + Endif + Else + DSTRSYNC ' SOSTITUISCE IL CODICE PER EVITARE DI RIPETERLO ********************************* + Endif + +End + +Public Sub BTNPICKER_Click() + + Btnclear_Click + Me.Mouse = Mouse.Wait + If $SECUREMODE = "SECURE" Then + Fmain.Enabled = False + Endif + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + txtConsole.Text = "" + $MEMOCOMMAND = "dnf repolist" + Print #$hProcess, "om-repo-picker " & gb.NewLine; + + +End + +Public Sub BTNREINSTALL_Click() + + Dim a As String + Dim s As String + Dim spkg As String + spkg = "" +'VERIFICA NUMERO DI PACCHETTI SELEZIONATI************************************* + If Val(Str(ListpkgINSTALLATI.Selection.Count)) > 10 Then + Message.Info("It seems that you are select many packages at the same time, this can cause errors, to avoid this DnfDrake has created a temporary list for reinstallation!", "OK") + BTNADDPKGLIST_Click + Endif +'***************************************************************************** + If TXTPKGLISTNOME.Visible = True And If TXTPKGLISTNOME.Text = "Remove Package List" Then + Print #$hProcess, $REINSTALL & "$(cat " & User.Home &/ ".config/dnfdrake/log/rempkglist.txt" & " )" & $VERBOSE & gb.NewLine; + Btnclear_Click + FRUNSHOW + Else + If Listpkg.Visible = False And If ListpkgINSTALLATI.Visible = False + If txtpkg.text = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Right(txtpkg.Text, 4) = ".txt" Then '*************Verifica se esiste un elenco di pacchetti da installare + Print #$hProcess, $REINSTALL & "$(cat " & txtpkg.Text & " )" & $VERBOSE & gb.NewLine; + Else '*************Se non c'è elenco fa la solita installazione + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + txtConsole.Text = "" + ' Print #$hProcess, $REINSTALL & txtpkg.Text & gb.NewLine; 'comando ok riabilitare dopo il test + Me.Mouse = Mouse.Wait + Print #$hProcess, $REINSTALL & txtpkg.Text & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + Endif + + If ListpkgAVAILABLE.Visible = True Or If ListpkgUPGRADE.Visible = True Then + Message.Info($SELECTPKG, "OK") + Else + + If ListpkgINSTALLATI.Visible = True + For Each a In ListpkgINSTALLATI.Selection + s = ListpkgINSTALLATI[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgINSTALLATI.Remove(a) + Next + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + ListpkgINSTALLATI.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Me.Mouse = Mouse.Wait + Print #$hProcess, $REINSTALL & spkg & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + If $OFFLINE = 0 Then + If Listpkg.Visible = True Then + If Cmbtipo.index = 1 Or If Cmbtipo.index = 0 + For Each a In Listpkg.Selection + s = Listpkg[a].Text + ' s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + Listpkg.Remove(a) + Next + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + Listpkg.UnSelectAll + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Me.Mouse = Mouse.Wait + Print #$hProcess, $REINSTALL & spkg & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + Endif + Endif + Endif + Endif + Endif +End + +Public Sub BTNVIEWLOG_Click() + Dim $PATHFILELOG As String + + Btnclear_Click + 'APRE LA FINESTRA PER SELEZIONARE IL LOG + Btnclear_Click + Dialog.Title = $DIALOGDIRTITLE + Dialog.Path = $PATHLOG 'IMPOSTA LA FINESTRA NELLA DIR DEI LOG + 'Dialog.Path = User.Home &/ ".config/dnfdrake/log" + Dialog.Filter = ["*.log", "*", "All files"] + + If Dialog.OpenFile(True) Then Return + For Each $PATHFILELOG In Dialog.Paths + $PRINTLOG = 1 + ' $PATHFILELOG = Replace(Dialog.Path, " ", Chr$(92) & " ") ' serve agestire percorsi con gli spazi + Print #$hProcess, "cat " & $PATHFILELOG + Next +Catch + Message.Info(Error.Text) + +'************************************************************* +End + + +Public Sub BTNREPLAY_Click() + Btnclear_Click + If Right(txtpkg.Text, 4) = ".txt" Then '*************Verifica se esiste un elenco di pacchetti da installare + Print #$hProcess, "cat " & txtpkg.Text & gb.NewLine; + Else + Btnclear_Click + $PRINTLOG = 1 + Print #$hProcess, "cat " & $PATHLOG & "/last.log" + Endif +End +Public Sub DATATIME() + + ' Dim $GIORNO As String + ' Dim $MESE As String + ' Dim $ANNO As String + ' Dim $TIME As String + ' $GIORNO = Day(Now) + ' $MESE = Month(Now) + ' $ANNO = Year(Now) + ' $DATATIME = Now + ' $DATATIME = Left($DATATIME, 16) 'Left(Now, 19) + ' $TIME = Replace(Right($DATATIME, 5), ":", "") + ' $DATATIME = $ANNO & $MESE & $GIORNO & "-" & $TIME + $DATATIME = Replace$(Replace$(Replace$(Left(Str$(Now), 16), "/", ""), " ", "-"), ":", "") + +End + + +Public Sub BTNUNLOCK_Click() + +FSINO.Visible = True +Fmain.Enabled = False +BTNUNLOCK.Visible = False + +End + + + +Public Sub BTNDNFCLEAN_Click() + + Btnclear_Click + + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + + txtConsole.Text = "" + $MEMOCOMMAND = "dnf repolist" + Print #$hProcess, "sudo dnf clean all; dnf clean all;" & gb.NewLine; + +End + + +Public Sub PICBTNDISTUPDATE_MouseDown() + BTNDISTUPDATE_Click +End +Public Sub BTNPKGLISTVIEW_Click() + + If TXTPKGLISTNOME.Text = "None" Then + Message.Info("No List Package Found!", "OK") + Else + FTEMPPKGLIST.Show + ' Else If TXTPKGLISTNOME.Text = "Remove Package List" + ' Print #$hProcess, "cat " & User.Home &/ ".config/dnfdrake/log/rempkglist.txt " & gb.NewLine; + ' Else If TXTPKGLISTNOME.Text = "Install Package List" + ' Print #$hProcess, "cat " & User.Home &/ ".config/dnfdrake/log/addpkglist.txt" & gb.NewLine; + ' Else If TXTPKGLISTNOME.Text = "Update Package List" + ' Print #$hProcess, "cat " & User.Home &/ ".config/dnfdrake/log/updpkglist.txt" & gb.NewLine; + Endif + +End +Public Sub CORNICE_MouseDown() +End +Public Sub TXTPKGLISTNOME_KeyPress() +End +Public Sub BTNPKGLISTCLEAN_Click() + TMPLISTCLEAN + TXTPKGLISTNOME.Text = "None" +End + +Public Sub BTNEXCLUDE_Click() + Dim a As String + Dim s As String + Dim spkg As String + spkg = "" + +'MOSTRA I PACCHETTI ESCLUSI************************************************ + If CMBVERSLOCK.index = 0 Then 'List + FEXCLUDELIST.SHOW + Endif + +'AGGIUNGE PACCHETTI AGLI ESCLUSI************************************************ +If CMBVERSLOCK.index = 1 Then 'Add + EXCLUDETEST + $MEMOCOMMAND = "LISTUPDTEXCL" + If Listpkg.Visible = False And If ListpkgINSTALLATI.Visible = False And If ListpkgAVAILABLE.Visible = False And If ListpkgUPGRADE.Visible = False + If txtpkg.text = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + spkg = txtpkg.Text + txtpkg.Text = "" + Btnclear_Click + If $EXCLUDE = "" Then + Print #$hProcess, "sudo su -c " & "'echo exclude=" & spkg & " >> /etc/dnf/dnf.conf' " & gb.NewLine; + Else + Print #$hProcess, "sudo sed -i 's/" & Left($EXCLUDE, String.Len($EXCLUDE) - 1) & "/" & Left($EXCLUDE, String.Len($EXCLUDE) - 1) & " " & Replace(spkg, " ", "") & "/g' /etc/dnf/dnf.conf" + Endif + Endif + Else + If $OFFLINE = 0 Then + If Listpkg.Visible = True + For Each a In Listpkg.Selection + s = Listpkg[a].Text + 's = Scan(s, "* * *")[0] + spkg = spkg & " " & s + Listpkg.Remove(a) + Next + Listpkg.UnSelectAll + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Btnclear_Click + TABHIDE + Listpkg.Visible = False + If $EXCLUDE = "" Then + Print #$hProcess, "sudo su -c " & "'echo exclude=" & spkg & " >> /etc/dnf/dnf.conf' " & gb.NewLine; + Else + Print #$hProcess, "sudo sed -i 's/" & Left($EXCLUDE, String.Len($EXCLUDE) - 1) & "/" & Left($EXCLUDE, String.Len($EXCLUDE) - 1) & " " & Right(spkg, String.Len(spkg) - 1) & "/g' /etc/dnf/dnf.conf" + Endif + Endif + Endif + Else + If ListpkgINSTALLATI.Visible = True + For Each a In ListpkgINSTALLATI.Selection + s = ListpkgINSTALLATI[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgINSTALLATI.Remove(a) + Next + ListpkgINSTALLATI.UnSelectAll + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Btnclear_Click + TABHIDE + Listpkg.Visible = False + If $EXCLUDE = "" Then + Print #$hProcess, "sudo su -c " & "'echo exclude=" & spkg & " >> /etc/dnf/dnf.conf' " & gb.NewLine; + Else + Print #$hProcess, "sudo sed -i 's/" & Left($EXCLUDE, String.Len($EXCLUDE) - 1) & "/" & Left($EXCLUDE, String.Len($EXCLUDE) - 1) & " " & Right(spkg, String.Len(spkg) - 1) & "/g' /etc/dnf/dnf.conf" + Endif + Endif + Endif + + If ListpkgAVAILABLE.Visible = True + For Each a In ListpkgAVAILABLE.Selection + s = ListpkgAVAILABLE[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgAVAILABLE.Remove(a) + Next + ListpkgAVAILABLE.UnSelectAll + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Btnclear_Click + TABHIDE + Listpkg.Visible = False + If $EXCLUDE = "" Then + Print #$hProcess, "sudo su -c " & "'echo exclude=" & spkg & " >> /etc/dnf/dnf.conf' " & gb.NewLine; + Else + Print #$hProcess, "sudo sed -i 's/" & Left($EXCLUDE, String.Len($EXCLUDE) - 1) & "/" & Left($EXCLUDE, String.Len($EXCLUDE) - 1) & " " & Right(spkg, String.Len(spkg) - 1) & "/g' /etc/dnf/dnf.conf" + Endif + Endif + Endif + + If ListpkgUPGRADE.Visible = True + For Each a In ListpkgUPGRADE.Selection + s = ListpkgUPGRADE[a].Text + s = Scan(s, "* * *")[0] + spkg = spkg & " " & s + ListpkgUPGRADE.Remove(a) + Next + ListpkgUPGRADE.UnSelectAll + If spkg = "" Then + Message.Info($SELECTPKG, "OK") + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Btnclear_Click + TABHIDE + Listpkg.Visible = False + If $EXCLUDE = "" Then + Print #$hProcess, "sudo su -c " & "'echo exclude=" & spkg & " >> /etc/dnf/dnf.conf' " & gb.NewLine; + Else + Print #$hProcess, "sudo sed -i 's/" & Left($EXCLUDE, String.Len($EXCLUDE) - 1) & "/" & Left($EXCLUDE, String.Len($EXCLUDE) - 1) & " " & Right(spkg, String.Len(spkg) - 1) & "/g' /etc/dnf/dnf.conf" + Endif + Endif + Endif + Endif + Endif + CMBVERSLOCK.index = 0 +Endif + +'RIMUOVE PACCHETTI DAGLI ESCLUSI************************************************ +If CMBVERSLOCK.index = 2 Then 'Delete + If Listpkg.Visible = False And If ListpkgINSTALLATI.Visible = False And If ListpkgAVAILABLE.Visible = False And If ListpkgUPGRADE.Visible = False + If txtpkg.text = "" Then + FEXCLUDELIST.Show + Else + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + spkg = txtpkg.Text + txtpkg.Text = "" + Btnclear_Click + Print #$hProcess, "sudo " & "sed -i 's/ " & spkg & "//g' " & " /etc/dnf/dnf.conf " & gb.NewLine; + $MEMOCOMMAND = "LISTUPDTEXCL" + Endif + Else + FEXCLUDELIST.Show + Endif + CMBVERSLOCK.index = 0 +Endif + +'RIMUOVE TUTTI I PACCHETTI ESCLUSI************************************************ + If CMBVERSLOCK.index = 3 Then 'CLEAR + $MEMOCOMMAND = "LISTUPDTEXCL" + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Print #$hProcess, "sudo sed -i '/exclude/d' /etc/dnf/dnf.conf " & gb.NewLine; + Endif + CMBVERSLOCK.index = 0 +End +Public Sub TXTPKGLISTLABEL_KeyPress() +End + +Public Sub BTNMYREPO_Click() + FMYREPO.Show +End + +Public Sub BTNAUTOREMOVE_Click() + Btnclear_Click + If Btnexp2.Text = "EXP2" Then + Btnexp2_Click + Endif + Me.Mouse = Mouse.Wait + If $LOG = "NOLOG" + Print #$hProcess, "sudo dnf autoremove" & $VERBOSE & gb.NewLine; + FRUNSHOW + Endif + If $LOG = "LOG" Then + DATATIME + Print #$hProcess, "sudo dnf autoremove | tee " & User.Home & "/.config/dnfdrake/log/" & $DATATIME & "-dnfdrakelog-autoremove.log " & User.Home & "/.config/dnfdrake/log/last.log" & gb.NewLine; + FRUNSHOW + Endif + +End + +Public Sub BTNFULLSCREEN_Click() + RESOLUTION + If Btnexp1.Text = "EXP1" And If Btnexp2.Text = "UEXP2" Then + txtConsole.Width = 1330 + ($RISOLUZIONEX - 1366) + txtConsole.Height = 476 + ($RISOLUZIONEY - 768) + Endif + + If Btnexp1.Text = "UEXP1" And If Btnexp2.Text = "EXP2" Then + txtConsole.Width = 1330 + ($RISOLUZIONEX - 1366) - Listpkg.Width - 5 + txtConsole.Height = 476 + ($RISOLUZIONEY - 768) + txtConsole.X = listpkg.Width + listpkg.X + + Endif + + End +Public Sub BTNRESIZE_Click() + RESOLUTION + If Btnexp1.Text = "EXP1" And If Btnexp2.Text = "UEXP2" Then + txtConsole.Width = 1330 + txtConsole.Height = 476 + Endif + + If Btnexp1.Text = "UEXP1" And If Btnexp2.Text = "EXP2" Then + txtConsole.Width = 1029 + txtConsole.Height = 476 + txtConsole.X = 308 + Endif +End + +' +' Public Sub CHKSUSPEND_Click() +' +' #$hProcess, "sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target" +' +' +' End +Public Sub TXTINFOBOX_KeyPress() +End + +Public Sub BTNSUSPEND_Click() + If BTNSUSPEND.Enabled = True + Btnclear_Click + ' If BTNSUSPEND.Text = " Suspend On" Then + If PICSUSPEND.Visible = True + Print #$hProcess, "sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target" & gb.NewLine; + Else + Print #$hProcess, "sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target" & gb.NewLine; + Endif + $MEMOCOMMAND = "CLEARSUSPEND" + Endif +End + +Public Sub PICSUSPEND_MouseDown() + BTNSUSPEND_Click +End + +Public Sub PICSUSPENDLOCK_MouseDown() + BTNSUSPEND_Click +End + +Public Sub PICEXCLUDE_MouseDown() + BTNEXCLUDE_Click +End diff --git a/.src/Fmain.form b/.src/Fmain.form new file mode 100644 index 0000000..fce7920 --- /dev/null +++ b/.src/Fmain.form @@ -0,0 +1,355 @@ +# Gambas Form File 3.0 + +{ Form Form + Move(0,0,1366,700) + #Scaled = False + Text = ("DnfDrake") + Icon = Picture["dnfdrake.svg"] + Resizable = False + AutoResize = True + { Label2 Label + Move(312,74,236,35) + Border = Border.Plain + } + { PCTDISCONNECT PictureBox + Move(546,112,28,27) + Visible = False + Picture = Picture.Load("icon:/16/disconnect") + Alignment = Align.Center + Border = Border.Plain + } + { !txtpkg TextBox + Move(7,7,567,28) + #Public = True + Expand = True + Alignment = Align.Left + } + { CORNICE Label + Move(7,140,1337,490) + Background = Color.Transparent + Border = Border.Plain + } + { HBox1 HBox + Move(119,662,700,28) + { !txtCommand TextBox + Move(0,0,161,28) + #Public = True + Visible = False + Font = Font["Monospace,10"] + Expand = True + } + { !btnCtrlC ToolButton + Move(567,0,63,28) + #Public = True + Visible = False + Font = Font["Bold"] + Text = ("CTRL-C") + Border = True + } + { btnCtrlZ ToolButton + Move(637,0,63,28) + Visible = False + Font = Font["Bold"] + Text = ("CTRL-Z") + Border = True + } + } + { txtConsole TextArea + Move(308,147,1029,476) + Visible = False + Font = Font["Monospace"] + Expand = True + Alignment = Align.Left + ReadOnly = True + } + { btnupdate Button + Move(672,42,110,28) + } + { Btnclose Button + Move(1232,7,110,28) + } + { btninstall Button + Move(672,7,110,28) + } + { btnremove Button + Move(791,7,110,28) + } + { Btnexp1 Button + Move(1141,7,42,28) + Visible = False + Text = ("EXP1") + } + { btninfo Button + Move(196,77,110,28) + } + { btncerca Button + Move(196,42,110,28) + } + { Cmbtipo ComboBox + Move(7,42,191,28) + ReadOnly = True + } + { Label1 Label + Move(574,112,196,27) + Alignment = Align.Center + Border = Border.Plain + Text = ("MONITOR") + } + { Btncommand Button + Move(7,662,110,28) + } + { Cmbtipoinfo ComboBox + Move(7,77,191,28) + ReadOnly = True + } + { Btncrono Button + Move(434,42,110,28) + } + { Btnclear Button + Move(1232,662,112,28) + } + { BTNABOUT Button + Move(1232,42,110,28) + } + { btnpkg Button + Move(77,630,98,28) + Visible = False + } + { Listpkg ListView + Move(14,147,294,476) + Visible = False + Font = Font["Monospace"] + Mode = Select.Multiple + ShowCheck = True + } + { Btnexp2 Button + Move(1141,35,42,28) + Visible = False + Text = ("EXP2") + } + { btnstop Button + Move(672,77,110,28) + } + { txtlang Label + Move(770,112,28,27) + Alignment = Align.Center + Border = Border.Plain + Text = ("US") + } + { BtnCFG Button + Move(553,42,110,28) + } + { Btndownload Button + Move(315,42,110,28) + } + { Btnpathfile Button + Move(601,7,31,28) + Picture = Picture["icon:/16/directory"] + } + { Btncleartxtpkg Button + Move(572,7,31,28) + Picture = Picture["icon:/16/clear"] + } + { BTNPICKER Button + Move(1232,112,112,28) + } + { TXTSTATUS Label + Move(1141,63,63,28) + Visible = False + Border = Border.Plain + } + { BTNSELECTALL Button + Move(7,630,35,28) + Visible = False + Picture = Picture["icon:/16/add"] + } + { BTNUNSELECTALL Button + Move(42,630,35,28) + Visible = False + Picture = Picture["icon:/16/remove"] + } + { BTNPKGUPDATE Button + Move(910,7,110,28) + } + { BTNDOWNDGRADE Button + Move(1029,42,110,28) + } + { BTNCUSTOM Button + Move(1162,662,56,28) + Picture = Picture["icon:/16/emote-cool"] + } + { BTNEXTRA Button + Move(553,77,110,28) + } + { ListpkgINSTALLATI ListView + Move(14,147,1323,476) + Visible = False + Font = Font["Monospace"] + Mode = Select.Multiple + ShowCheck = True + } + { ListpkgAVAILABLE ListView + Move(14,147,1323,476) + Visible = False + Font = Font["Monospace"] + Mode = Select.Multiple + ShowCheck = True + } + { ListpkgUPGRADE ListView + Move(14,147,1323,476) + Visible = False + Font = Font["Monospace"] + Mode = Select.Multiple + ShowCheck = True + } + { BTNTABINSTALLED Button + Move(182,630,120,28) + Visible = False + Picture = Picture["ICONS-EXTRA/installed.png"] + } + { BTNTABAVIABLE Button + Move(308,630,120,28) + Visible = False + Picture = Picture["ICONS-EXTRA/install.png"] + } + { BTNTABUPDATE Button + Move(434,630,120,28) + Visible = False + Picture = Picture["ICONS-EXTRA/update.png"] + } + { TimerUPLISTE #Timer + #Move(1183,7) + Delay = 1500 + } + { PCTCONNECT PictureBox + Move(546,112,28,27) + Visible = False + Picture = Picture.Load("icon:/16/connect") + Alignment = Align.Center + Border = Border.Plain + } + { CMBVERSLOCK ComboBox + Move(315,77,70,28) + ReadOnly = True + List = [("List"), ("Add"), ("Delete"), ("Clear")] + } + { BTNVERSLOCK Button + Move(385,77,80,28) + } + { BTNDISTUPDATE Button + Move(672,42,110,28) + Visible = False + ToolTip = ("Distro Sync") + Text = (" Distro Sync") + } + { BTNREINSTALL Button + Move(1029,7,110,28) + } + { BTNVIEWLOG Button + Move(1232,630,112,28) + Text = ("Log") + Picture = Picture["icon:/16/directory"] + } + { BTNREPLAY Button + Move(1162,630,56,28) + ToolTip = ("Replay Last Log or view package list") + Picture = Picture["icon:/16/play"] + } + { BTNUNLOCK Button + Move(931,665,42,28) + Visible = False + Picture = Picture["icon:/22/lock"] + } + { BTNDNFCLEAN Button + Move(910,42,110,28) + Text = ("Dnf Clean Cache") + } + { Btnpathpkglist Button + Move(630,7,31,28) + ToolTip = ("Create a list of packages to install") + Picture = Picture["icon:/16/save-as"] + } + { TXTINFOBOX TextArea + Move(567,147,770,476) + Visible = False + Font = Font["Monospace"] + Foreground = Color.TextForeground + Wrap = True + } + { BTNADDPKGLIST Button + Move(576,630,28,28) + Visible = False + Picture = Picture["icon:/16/insert-text"] + } + { PICBTNDISTUPDATE PictureBox + Move(679,48,21,17) + Visible = False + Picture = Picture.Load("icon:/16/refresh") + } + { BTNPKGLISTVIEW Button + Move(864,630,28,28) + Visible = False + Picture = Picture["icon:/16/watch"] + } + { TXTPKGLISTLABEL TextBox + Move(602,630,98,28) + Visible = False + Enabled = False + Foreground = Color.TextForeground + Text = (" Package List:") + Alignment = Align.Right + } + { TXTPKGLISTNOME TextBox + Move(698,630,168,28) + Visible = False + Enabled = False + Foreground = Color.TextForeground + Text = ("None") + } + { BTNPKGLISTCLEAN Button + Move(889,630,28,28) + Visible = False + Picture = Picture["icon:/16/trash"] + } + { BTNEXCLUDE Button + Move(465,77,80,28) + Text = ("Exclude ") + } + { PICEXCLUDE PictureBox + Move(527,83,15,17) + Visible = False + Picture = Picture.Load("icon:/16/lock-screen") + } + { BTNMYREPO Button + Move(1232,77,112,28) + Text = ("MyRepo") + } + { BTNAUTOREMOVE Button + Move(791,42,110,28) + Text = Shortcut(("Autoremove"), "v") + Picture = Picture["icon:/16/trash"] + } + { BTNFULLSCREEN Button + Move(7,112,35,28) + Picture = Picture["icon:/16/fullscreen"] + } + { BTNRESIZE Button + Move(7,112,35,28) + Picture = Picture["icon:/16/resize"] + } + { BTNSUSPEND Button + Move(42,112,80,28) + Text = (" Suspend") + } + { PICSUSPENDLOCK PictureBox + Move(45,116,20,20) + Visible = False + Picture = Picture.Load("icon:/16/lock") + Alignment = Align.Center + } + { PICSUSPEND PictureBox + Move(45,116,20,20) + Picture = Picture.Load("icon:/16/suspend") + Alignment = Align.Center + } +} diff --git a/FILE-EXTRA/dnfdrake-ABOUT-br_BR b/FILE-EXTRA/dnfdrake-ABOUT-br_BR new file mode 100644 index 0000000..28ccc33 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-ABOUT-br_BR @@ -0,0 +1,18 @@ + +DnfDrake é um front-end para o Gerente de Pacotes DNF +Este software é licenciado sob +a Licença Pública Geral GNU versão 3 (GPLv3) + +Autor : +Astragalo (Mauro Carbini) +mauro.carbini@gmail.com + +Tradução e testes: +rugyada +Raphael +AngryPenguin (Damian Marcin Szymański) +Ben Bullard + +A special thanks to the Gambas.it group + +Dedicado a todos os amigos do MIB! diff --git a/FILE-EXTRA/dnfdrake-ABOUT-ca_ES b/FILE-EXTRA/dnfdrake-ABOUT-ca_ES new file mode 100644 index 0000000..613fb1d --- /dev/null +++ b/FILE-EXTRA/dnfdrake-ABOUT-ca_ES @@ -0,0 +1,19 @@ + +DnfDrake és una interfície per al gestor de paquets DNF. +Aquest programari té llicència de +la Llicència Pública General de GNU versió 3 (GPLv3). + +Autor: +Astragalo (Mauro Carbini) +mauro.carbini@gmail.com + +Traducció i proves: +rugyada +Raphael +AngryPenguin (Damian Marcin Szymański) +Davidmp +Panwar108 + +Un agraïment especial al grup Gambas.it + +Dedicat a tots els amics del MIB! diff --git a/FILE-EXTRA/dnfdrake-ABOUT-de_DE b/FILE-EXTRA/dnfdrake-ABOUT-de_DE new file mode 100644 index 0000000..ee19996 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-ABOUT-de_DE @@ -0,0 +1,18 @@ + +DnfDrake ist ein Frontend für DNF Packge Manager +Diese Software ist lizenziert unter +der GNU General Public License Version 3 (GPLv3) + +Autor : +Astragalo (Mauro Carbini) +mauro.carbini@gmail.com + +Übersetzung und Test: +rugyada +Raphael +AngryPenguin (Damian Marcin Szymański) +Ben Bullard + +A special thanks to the Gambas.it group + +Allen MIB-Freunden gewidmet! diff --git a/FILE-EXTRA/dnfdrake-ABOUT-en_GB b/FILE-EXTRA/dnfdrake-ABOUT-en_GB new file mode 100644 index 0000000..edd78a9 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-ABOUT-en_GB @@ -0,0 +1,18 @@ + +DnfDrake is a frontend for DNF Packge Manager +This software is licensed under +the GNU General Public License version 3 (GPLv3) + +Author : +Astragalo (Mauro Carbini) +mauro.carbini@gmail.com + +Translation and Testing: +rugyada +Raphael +AngryPenguin (Damian Marcin Szymański) +Ben Bullard + +A special thanks to the Gambas.it group + +Dedicated to all MIB friends! diff --git a/FILE-EXTRA/dnfdrake-ABOUT-en_US b/FILE-EXTRA/dnfdrake-ABOUT-en_US new file mode 100644 index 0000000..edd78a9 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-ABOUT-en_US @@ -0,0 +1,18 @@ + +DnfDrake is a frontend for DNF Packge Manager +This software is licensed under +the GNU General Public License version 3 (GPLv3) + +Author : +Astragalo (Mauro Carbini) +mauro.carbini@gmail.com + +Translation and Testing: +rugyada +Raphael +AngryPenguin (Damian Marcin Szymański) +Ben Bullard + +A special thanks to the Gambas.it group + +Dedicated to all MIB friends! diff --git a/FILE-EXTRA/dnfdrake-ABOUT-es_ES b/FILE-EXTRA/dnfdrake-ABOUT-es_ES new file mode 100644 index 0000000..8cd37e9 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-ABOUT-es_ES @@ -0,0 +1,18 @@ + +DnfDrake es un frontend para DNF Packge Manager +Este software está licenciado bajo +la Licencia Pública General GNU versión 3 (GPLv3) + +Autor : +Astragalo (Mauro Carbini) +mauro.carbini@gmail.com + +Traducción y pruebas: +rugyada +Raphael +AngryPenguin (Damian Marcin Szymański) +Ben Bullard + +A special thanks to the Gambas.it group + +¡Dedicado a todos los amigos del MIB! diff --git a/FILE-EXTRA/dnfdrake-ABOUT-fr_FR b/FILE-EXTRA/dnfdrake-ABOUT-fr_FR new file mode 100644 index 0000000..da03a89 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-ABOUT-fr_FR @@ -0,0 +1,19 @@ + +DnfDrake est un frontal pour le gestionnaire +de paquets DNF +Ce logiciel est soumis à la licence +GNU General Public License version 3 (GPLv3) + +Auteur : +Astragalo (Mauro Carbini) +mauro.carbini@gmail.com + +Traduction et test : +rugyada +Raphael +AngryPenguin (Damian Marcin Szymański) +Ben Bullard + +A special thanks to the Gambas.it group + +Dédié à tous les amis de MIB ! diff --git a/FILE-EXTRA/dnfdrake-ABOUT-gb_GB b/FILE-EXTRA/dnfdrake-ABOUT-gb_GB new file mode 100644 index 0000000..edd78a9 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-ABOUT-gb_GB @@ -0,0 +1,18 @@ + +DnfDrake is a frontend for DNF Packge Manager +This software is licensed under +the GNU General Public License version 3 (GPLv3) + +Author : +Astragalo (Mauro Carbini) +mauro.carbini@gmail.com + +Translation and Testing: +rugyada +Raphael +AngryPenguin (Damian Marcin Szymański) +Ben Bullard + +A special thanks to the Gambas.it group + +Dedicated to all MIB friends! diff --git a/FILE-EXTRA/dnfdrake-ABOUT-it_IT b/FILE-EXTRA/dnfdrake-ABOUT-it_IT new file mode 100644 index 0000000..91080b7 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-ABOUT-it_IT @@ -0,0 +1,18 @@ + +DnfDrake è un frontend a DNF Packge Manager +È rilasciato sotto licenza +GNU General Public License version 3 (GPLv3) + +Autore : +Astragalo (Mauro Carbini) +mauro.carbini@gmail.com + +Traduzioni e Testing: +rugyada +Raphael +AngryPenguin (Damian Marcin Szymański) +Ben Bullard + +Un ringraziamento al gruppo di Gambas.it + +Dedicato a tutti gli amici del MIB! diff --git a/FILE-EXTRA/dnfdrake-ABOUT-pl_PL b/FILE-EXTRA/dnfdrake-ABOUT-pl_PL new file mode 100644 index 0000000..2995560 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-ABOUT-pl_PL @@ -0,0 +1,19 @@ + +DnfDrake jest nakładką na menadżera pakietów DNF +To oprogramowanie jest licensjonowane pod +GNU General Public License wersja 3 (GPLv3) + +Autor : +Astragalo (Mauro Carbini) +mauro.carbini@gmail.com + +Tłumaczenie i Testy: +rugyada +Raphael +AngryPenguin (Damian Marcin Szymański) +Ben Bullard + +A special thanks to the Gambas.it group + +Dedykowane wszystkim przyjaciołom MIB! + diff --git a/FILE-EXTRA/dnfdrake-ABOUT-ru_RU b/FILE-EXTRA/dnfdrake-ABOUT-ru_RU new file mode 100644 index 0000000..edd78a9 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-ABOUT-ru_RU @@ -0,0 +1,18 @@ + +DnfDrake is a frontend for DNF Packge Manager +This software is licensed under +the GNU General Public License version 3 (GPLv3) + +Author : +Astragalo (Mauro Carbini) +mauro.carbini@gmail.com + +Translation and Testing: +rugyada +Raphael +AngryPenguin (Damian Marcin Szymański) +Ben Bullard + +A special thanks to the Gambas.it group + +Dedicated to all MIB friends! diff --git a/FILE-EXTRA/dnfdrake-BTN-br_BR b/FILE-EXTRA/dnfdrake-BTN-br_BR new file mode 100644 index 0000000..35e2205 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-BTN-br_BR @@ -0,0 +1,26 @@ +&Install +&Remove +&Update_SYS +Do&wnload +In&fo +&Close +&Search +&Command +&History +C&lear +S&top +Confi&g +About +&Write +&Cancel +&OK +&YES +&NO +&OM-Repo-Picker +U&pdate_PKG +Dow&ngrade +E&xtra +VersionLock +Reinstall +&Wait +&Retry diff --git a/FILE-EXTRA/dnfdrake-BTN-ca_ES b/FILE-EXTRA/dnfdrake-BTN-ca_ES new file mode 100644 index 0000000..b438423 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-BTN-ca_ES @@ -0,0 +1,26 @@ +Instal·la +Suprimeix +Actualitza_el_sistema +Baixa +Informació +Tanca +Cerca +Ordre +Historial +Neteja +Atura +Configuració +Quant_a +Escriu +Cancel·la +D'acord +SÍ +NO +&OM-Repo-Picker +Actualitza_PKG +Degrada +Extra +VersionLock +Reinstal·la +&Wait +&Retry diff --git a/FILE-EXTRA/dnfdrake-BTN-de_DE b/FILE-EXTRA/dnfdrake-BTN-de_DE new file mode 100644 index 0000000..35e2205 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-BTN-de_DE @@ -0,0 +1,26 @@ +&Install +&Remove +&Update_SYS +Do&wnload +In&fo +&Close +&Search +&Command +&History +C&lear +S&top +Confi&g +About +&Write +&Cancel +&OK +&YES +&NO +&OM-Repo-Picker +U&pdate_PKG +Dow&ngrade +E&xtra +VersionLock +Reinstall +&Wait +&Retry diff --git a/FILE-EXTRA/dnfdrake-BTN-en_GB b/FILE-EXTRA/dnfdrake-BTN-en_GB new file mode 100644 index 0000000..35e2205 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-BTN-en_GB @@ -0,0 +1,26 @@ +&Install +&Remove +&Update_SYS +Do&wnload +In&fo +&Close +&Search +&Command +&History +C&lear +S&top +Confi&g +About +&Write +&Cancel +&OK +&YES +&NO +&OM-Repo-Picker +U&pdate_PKG +Dow&ngrade +E&xtra +VersionLock +Reinstall +&Wait +&Retry diff --git a/FILE-EXTRA/dnfdrake-BTN-en_US b/FILE-EXTRA/dnfdrake-BTN-en_US new file mode 100644 index 0000000..35e2205 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-BTN-en_US @@ -0,0 +1,26 @@ +&Install +&Remove +&Update_SYS +Do&wnload +In&fo +&Close +&Search +&Command +&History +C&lear +S&top +Confi&g +About +&Write +&Cancel +&OK +&YES +&NO +&OM-Repo-Picker +U&pdate_PKG +Dow&ngrade +E&xtra +VersionLock +Reinstall +&Wait +&Retry diff --git a/FILE-EXTRA/dnfdrake-BTN-es_ES b/FILE-EXTRA/dnfdrake-BTN-es_ES new file mode 100644 index 0000000..35e2205 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-BTN-es_ES @@ -0,0 +1,26 @@ +&Install +&Remove +&Update_SYS +Do&wnload +In&fo +&Close +&Search +&Command +&History +C&lear +S&top +Confi&g +About +&Write +&Cancel +&OK +&YES +&NO +&OM-Repo-Picker +U&pdate_PKG +Dow&ngrade +E&xtra +VersionLock +Reinstall +&Wait +&Retry diff --git a/FILE-EXTRA/dnfdrake-BTN-fr_FR b/FILE-EXTRA/dnfdrake-BTN-fr_FR new file mode 100644 index 0000000..707d655 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-BTN-fr_FR @@ -0,0 +1,26 @@ +Insta&ller +Supp&rimer +&Mise_à_jour_SYS +Téléchar&ger +&Info +&Quitter +Ch&ercher +Comman&de +&Historique +Eff&acer +In&terrompre +Con&fig +À_&propos +É&crire +Ann&uler +&OK +&OUI +&NON +O&M-Repo-Picker +Mi&se_à_jour_PKG +Dow&ngrade +E&xtra +VersionLock +Reinstall +&Wait +&Retry diff --git a/FILE-EXTRA/dnfdrake-BTN-gb_GB b/FILE-EXTRA/dnfdrake-BTN-gb_GB new file mode 100644 index 0000000..35e2205 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-BTN-gb_GB @@ -0,0 +1,26 @@ +&Install +&Remove +&Update_SYS +Do&wnload +In&fo +&Close +&Search +&Command +&History +C&lear +S&top +Confi&g +About +&Write +&Cancel +&OK +&YES +&NO +&OM-Repo-Picker +U&pdate_PKG +Dow&ngrade +E&xtra +VersionLock +Reinstall +&Wait +&Retry diff --git a/FILE-EXTRA/dnfdrake-BTN-it_IT b/FILE-EXTRA/dnfdrake-BTN-it_IT new file mode 100644 index 0000000..9450e22 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-BTN-it_IT @@ -0,0 +1,26 @@ +&Installa +&Disinstalla +&Aggiorna_SYS +Do&wnload +In&fo +&Chiudi +&Trova +Co&mandi +C&ronologia +&Pulisci +Int&errompi +Config&ura +Informazioni +&Scrivi +&Annulla +&OK +&SI +&NO +&OM-Repo-Picker +A&ggiorna_PKG +Dow&ngrade +E&xtra +VersionLock +Reinstalla +&Attendi +&Riprova diff --git a/FILE-EXTRA/dnfdrake-BTN-pl_PL b/FILE-EXTRA/dnfdrake-BTN-pl_PL new file mode 100644 index 0000000..ae71ef1 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-BTN-pl_PL @@ -0,0 +1,26 @@ +&Instaluj +U&suń +Aktua&lizuj_SYS +Po&bierz +In&formacje +Za&mknij +&Wyszukaj +&Polecenie +&Historia +W&yczyść +Z&atrzymaj +Konfigurac&ja +&O +&Zapisz +An&uluj +O&K +&TAK +&NIE +OM-&Repo-Picker +A&ktualizuj_PKG +Dow&ngrade +E&xtra +VersionLock +Reinstall +&Wait +&Retry diff --git a/FILE-EXTRA/dnfdrake-BTN-ru_RU b/FILE-EXTRA/dnfdrake-BTN-ru_RU new file mode 100644 index 0000000..35e2205 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-BTN-ru_RU @@ -0,0 +1,26 @@ +&Install +&Remove +&Update_SYS +Do&wnload +In&fo +&Close +&Search +&Command +&History +C&lear +S&top +Confi&g +About +&Write +&Cancel +&OK +&YES +&NO +&OM-Repo-Picker +U&pdate_PKG +Dow&ngrade +E&xtra +VersionLock +Reinstall +&Wait +&Retry diff --git a/FILE-EXTRA/dnfdrake-CMBI-br_BR b/FILE-EXTRA/dnfdrake-CMBI-br_BR new file mode 100644 index 0000000..2a7038e --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBI-br_BR @@ -0,0 +1,6 @@ +General +Requires +File +Provides +Homepage +Repository diff --git a/FILE-EXTRA/dnfdrake-CMBI-ca_ES b/FILE-EXTRA/dnfdrake-CMBI-ca_ES new file mode 100644 index 0000000..fa2c167 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBI-ca_ES @@ -0,0 +1,6 @@ +General +Requereix +Fitxer +Proporciona +Pàgina_inicial +Repositori diff --git a/FILE-EXTRA/dnfdrake-CMBI-de_DE b/FILE-EXTRA/dnfdrake-CMBI-de_DE new file mode 100644 index 0000000..2a7038e --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBI-de_DE @@ -0,0 +1,6 @@ +General +Requires +File +Provides +Homepage +Repository diff --git a/FILE-EXTRA/dnfdrake-CMBI-en_GB b/FILE-EXTRA/dnfdrake-CMBI-en_GB new file mode 100644 index 0000000..2a7038e --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBI-en_GB @@ -0,0 +1,6 @@ +General +Requires +File +Provides +Homepage +Repository diff --git a/FILE-EXTRA/dnfdrake-CMBI-en_US b/FILE-EXTRA/dnfdrake-CMBI-en_US new file mode 100644 index 0000000..2a7038e --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBI-en_US @@ -0,0 +1,6 @@ +General +Requires +File +Provides +Homepage +Repository diff --git a/FILE-EXTRA/dnfdrake-CMBI-es_ES b/FILE-EXTRA/dnfdrake-CMBI-es_ES new file mode 100644 index 0000000..2a7038e --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBI-es_ES @@ -0,0 +1,6 @@ +General +Requires +File +Provides +Homepage +Repository diff --git a/FILE-EXTRA/dnfdrake-CMBI-fr_FR b/FILE-EXTRA/dnfdrake-CMBI-fr_FR new file mode 100644 index 0000000..7203fe7 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBI-fr_FR @@ -0,0 +1,6 @@ +Général +Nécessite +Fichier +Provides +Page_d'accueil +Dépôt diff --git a/FILE-EXTRA/dnfdrake-CMBI-gb_GB b/FILE-EXTRA/dnfdrake-CMBI-gb_GB new file mode 100644 index 0000000..2a7038e --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBI-gb_GB @@ -0,0 +1,6 @@ +General +Requires +File +Provides +Homepage +Repository diff --git a/FILE-EXTRA/dnfdrake-CMBI-it_IT b/FILE-EXTRA/dnfdrake-CMBI-it_IT new file mode 100644 index 0000000..bc744c7 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBI-it_IT @@ -0,0 +1,6 @@ +Generale +Dipendenze +File +Provides +Homepage +Repository diff --git a/FILE-EXTRA/dnfdrake-CMBI-pl_PL b/FILE-EXTRA/dnfdrake-CMBI-pl_PL new file mode 100644 index 0000000..08453aa --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBI-pl_PL @@ -0,0 +1,6 @@ +Główne +Wymagane +Plik +Provides +Strona_domowa +Repozytoria diff --git a/FILE-EXTRA/dnfdrake-CMBI-ru_RU b/FILE-EXTRA/dnfdrake-CMBI-ru_RU new file mode 100644 index 0000000..2a7038e --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBI-ru_RU @@ -0,0 +1,6 @@ +General +Requires +File +Provides +Homepage +Repository diff --git a/FILE-EXTRA/dnfdrake-CMBT-br_BR b/FILE-EXTRA/dnfdrake-CMBT-br_BR new file mode 100644 index 0000000..0cf036d --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBT-br_BR @@ -0,0 +1,4 @@ +Todos +Instalado +Não_Instalado +Atualização diff --git a/FILE-EXTRA/dnfdrake-CMBT-ca_ES b/FILE-EXTRA/dnfdrake-CMBT-ca_ES new file mode 100644 index 0000000..a931f1a --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBT-ca_ES @@ -0,0 +1,4 @@ +Tot +Instal·lat +No_instal·lat +Actualitza diff --git a/FILE-EXTRA/dnfdrake-CMBT-de_DE b/FILE-EXTRA/dnfdrake-CMBT-de_DE new file mode 100644 index 0000000..758ec6c --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBT-de_DE @@ -0,0 +1,4 @@ +Alle +Installiert +Nicht_installiert +Update diff --git a/FILE-EXTRA/dnfdrake-CMBT-en_GB b/FILE-EXTRA/dnfdrake-CMBT-en_GB new file mode 100644 index 0000000..086a2d9 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBT-en_GB @@ -0,0 +1,4 @@ +All +Installed +Not_Installed +Update diff --git a/FILE-EXTRA/dnfdrake-CMBT-en_US b/FILE-EXTRA/dnfdrake-CMBT-en_US new file mode 100644 index 0000000..086a2d9 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBT-en_US @@ -0,0 +1,4 @@ +All +Installed +Not_Installed +Update diff --git a/FILE-EXTRA/dnfdrake-CMBT-es_ES b/FILE-EXTRA/dnfdrake-CMBT-es_ES new file mode 100644 index 0000000..1382564 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBT-es_ES @@ -0,0 +1,4 @@ +Todos +Instalado +No_instalado +Actualización diff --git a/FILE-EXTRA/dnfdrake-CMBT-fr_FR b/FILE-EXTRA/dnfdrake-CMBT-fr_FR new file mode 100644 index 0000000..c06d04e --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBT-fr_FR @@ -0,0 +1,4 @@ +Tout +Installés +Non_installés +Mise_à_jour diff --git a/FILE-EXTRA/dnfdrake-CMBT-gb_GB b/FILE-EXTRA/dnfdrake-CMBT-gb_GB new file mode 100644 index 0000000..086a2d9 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBT-gb_GB @@ -0,0 +1,4 @@ +All +Installed +Not_Installed +Update diff --git a/FILE-EXTRA/dnfdrake-CMBT-it_IT b/FILE-EXTRA/dnfdrake-CMBT-it_IT new file mode 100644 index 0000000..184ff4b --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBT-it_IT @@ -0,0 +1,4 @@ +Tutti +Installati +Non_installati +Aggiornamenti diff --git a/FILE-EXTRA/dnfdrake-CMBT-pl_PL b/FILE-EXTRA/dnfdrake-CMBT-pl_PL new file mode 100644 index 0000000..9bf7120 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBT-pl_PL @@ -0,0 +1,4 @@ +Wszystkie +Zainstalowane +Nie_Zainstalowane +Aktualizacje diff --git a/FILE-EXTRA/dnfdrake-CMBT-ru_RU b/FILE-EXTRA/dnfdrake-CMBT-ru_RU new file mode 100644 index 0000000..086a2d9 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-CMBT-ru_RU @@ -0,0 +1,4 @@ +All +Installed +Not_Installed +Update diff --git a/FILE-EXTRA/dnfdrake-COMMAND b/FILE-EXTRA/dnfdrake-COMMAND new file mode 100644 index 0000000..fb071dd --- /dev/null +++ b/FILE-EXTRA/dnfdrake-COMMAND @@ -0,0 +1,10 @@ +sudo_dnf_install_ +sudo_dnf_remove_ +sudo_dnf_clean_all;_dnf_repolist;_sudo_dnf_--refresh_upgrade +sudo_dnf_upgrade_ +sudo_dnf_downgrade_ +echo_SET_YOUR_COMMAND +color +sudo_dnf_reinstall_ +LOG +SECURE diff --git a/FILE-EXTRA/dnfdrake-KEY-br_BR b/FILE-EXTRA/dnfdrake-KEY-br_BR new file mode 100644 index 0000000..ad18376 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-KEY-br_BR @@ -0,0 +1,8 @@ +_senha_para +_uma_senha +Correto? +Atualizações +Concluído! +S +N +X diff --git a/FILE-EXTRA/dnfdrake-KEY-ca_ES b/FILE-EXTRA/dnfdrake-KEY-ca_ES new file mode 100644 index 0000000..692640f --- /dev/null +++ b/FILE-EXTRA/dnfdrake-KEY-ca_ES @@ -0,0 +1,8 @@ +contrasenya_per_a +es_requereix_una_contrasenya +És_correcte? +Actualitzacions +S'ha_completat! +S +N +Non_riuscito diff --git a/FILE-EXTRA/dnfdrake-KEY-de_DE b/FILE-EXTRA/dnfdrake-KEY-de_DE new file mode 100644 index 0000000..455a478 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-KEY-de_DE @@ -0,0 +1,8 @@ +_Passwort_für +_Ein_Passwort_ist_notwendig +Ist_dies_in_Ordnung? +Aktualisieren +Fertig. +j +N +Fehlgeschlagen: diff --git a/FILE-EXTRA/dnfdrake-KEY-en_GB b/FILE-EXTRA/dnfdrake-KEY-en_GB new file mode 100644 index 0000000..19657b7 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-KEY-en_GB @@ -0,0 +1,8 @@ +password_for +password_is_required +Is_this_ok +Available_Upgrades +Complete! +Y +N +Failed: diff --git a/FILE-EXTRA/dnfdrake-KEY-en_US b/FILE-EXTRA/dnfdrake-KEY-en_US new file mode 100644 index 0000000..19657b7 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-KEY-en_US @@ -0,0 +1,8 @@ +password_for +password_is_required +Is_this_ok +Available_Upgrades +Complete! +Y +N +Failed: diff --git a/FILE-EXTRA/dnfdrake-KEY-es_ES b/FILE-EXTRA/dnfdrake-KEY-es_ES new file mode 100644 index 0000000..14196e9 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-KEY-es_ES @@ -0,0 +1,8 @@ +password_for +a_password_is_required +¿Está_de_acuerdo +Actualizaciones_disponibles +¡Listo! +S +N +Fallido: diff --git a/FILE-EXTRA/dnfdrake-KEY-fr_FR b/FILE-EXTRA/dnfdrake-KEY-fr_FR new file mode 100644 index 0000000..0357669 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-KEY-fr_FR @@ -0,0 +1,8 @@ +Mot_de_passe +mot_de_passe +Voulez-vous_continuer +Mises_à_jour_disponibles +Terminé_! +O +N +Échec: diff --git a/FILE-EXTRA/dnfdrake-KEY-gb_GB b/FILE-EXTRA/dnfdrake-KEY-gb_GB new file mode 100644 index 0000000..19657b7 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-KEY-gb_GB @@ -0,0 +1,8 @@ +password_for +password_is_required +Is_this_ok +Available_Upgrades +Complete! +Y +N +Failed: diff --git a/FILE-EXTRA/dnfdrake-KEY-it_IT b/FILE-EXTRA/dnfdrake-KEY-it_IT new file mode 100644 index 0000000..2f409b7 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-KEY-it_IT @@ -0,0 +1,8 @@ +password_di +necessaria_una_password +Procedere +Aggiornamenti +Fatto! +S +N +Non_riuscito diff --git a/FILE-EXTRA/dnfdrake-KEY-pl_PL b/FILE-EXTRA/dnfdrake-KEY-pl_PL new file mode 100644 index 0000000..f3ba46b --- /dev/null +++ b/FILE-EXTRA/dnfdrake-KEY-pl_PL @@ -0,0 +1,8 @@ +hasło_użytkownika +necessaria_una_password +porządku? +Dostępne_aktualizacje +Ukończono. +T +N +Niepowodzenie: diff --git a/FILE-EXTRA/dnfdrake-KEY-ru_RU b/FILE-EXTRA/dnfdrake-KEY-ru_RU new file mode 100644 index 0000000..3b1325a --- /dev/null +++ b/FILE-EXTRA/dnfdrake-KEY-ru_RU @@ -0,0 +1,8 @@ +пароль_для +necessaria_una_password +Procedere +Aggiornamenti +Fatto! +S +N +Non_riuscito diff --git a/FILE-EXTRA/dnfdrake-TTP-br_BR b/FILE-EXTRA/dnfdrake-TTP-br_BR new file mode 100644 index 0000000..04025f8 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-TTP-br_BR @@ -0,0 +1,86 @@ +Digite_o_nome_do_pacote +Selecione_o_arquivo +Instalar_os_pacotes_selecionados +Desinstalar_pacotes_selecionados +Saída +Selecione_o_tipo_de_pacote_a_ser_pesquisado +Iniciar_a_busca +Configurar_comandos +Pacotes_para_download +Atualizar_o_sistema +Selecione_o_tipo_de_informação_a_pesquisar +Procurar_informações +Mostrar_a_história_do_DNF +Parar_a_execução_(CTRL-C) +Monitor_limpo +Escreva_os_pacotes_selecionados_para_instalar/remover_a_caixa +Abrir_um_módulo_para_enviar_comandos_ao_terminal +Escrever_comando_e_pressionar_enter +Lista_de_pacotes_pesquisados,_clique_duas_vezes_para_enviar_para_a_caixa +Monitor_de_Execução_de_Comando +Idioma_do_sistema +Digite_a_senha_do_usuário +Operação_encerrada! +Você_quer_prosseguir? +Desmarque_a_caixa +Selecione_o_local_de_download +Selecione_o_arquivo_a_ser_instalado +Selecione_um_pacote +Iniciar_o_OM_Repo_Picker_para_configurar_o_repositório +Somente_para_pacotes_instalados +Desgraduar_o_pacote +Comando_personalizado +Atualizar_um_pacote +Pacotes_da_Lista_de_Carregamento +Carregamento_de_pacotes_instalados +Carregamento_de_pacotes_não_instalados +Atualizações_de_Carregamento +Habilitar_funções_extras +Busca_on-line +Busca_off-line +Selecione_todos +Desmarcar_todos +Pacotes_instaladas +Pacotes_não_instalados +Pacotes_atualizáveis +Ativar_a_busca_em_listas_locais_(RECOMENDADADO) +Se_ativado,_o_DnfDrake_está_ativo +Esta_função_funciona_apenas_no_modo_on-line._Modo_online_ativado! +Pacotes_não_encontrados! +[Dnfdrake_Works_For_You]_ +What_do_you_want_to_do_with:__ +Cleans_the_dnf_cache +Create_a_list_of_packages +Package_list,_left_click_to_select,_right_to_info +Add_selected_to_a_Package_List +Apply_and_close +Apply_and_refresh +Save_the_list_as +View_Package_List +Delete_Package_List +Excludes_from_updates +Remove +Reload +Save_List +List_excluded: +Name_of_Repository +Path_to_Repository +Path_GpgKey +Cleans_all +Enable_the_Repository +Enable_GpgKey +Create_a_Remote_Repository +Select_the_path +Build/Update_repodata +Add/Update_Repository +The_dnf_cache_need_refresh +Delete_unused_packages +List_unused_package_to_remove +Maximize +Restore +Please_Wait... +Click_for_disable_suspend +Click_for_enable_suspend +Personal_repository_manager +DnfDrake_has_disabled_suspend_do_you_want_to_restore_it? +Do_you_really_want_to_go_out? diff --git a/FILE-EXTRA/dnfdrake-TTP-ca_ES b/FILE-EXTRA/dnfdrake-TTP-ca_ES new file mode 100644 index 0000000..3dfaef0 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-TTP-ca_ES @@ -0,0 +1,86 @@ +Escriviu_el_nom_del_paquet +Seleccioneu_un_fitxer_per_instal·lar +Instal·la_els_paquets_seleccionats +Desinstal·la_els_paquets_seleccionats +Surt +Seleccioneu_el_tipus_de_paquet_per_cercar +Inicia_la_cerca +Configuració_d'ordres +Baixa_els_paquets +Actualitza_el_sistema +Seleccioneu_el_tipus_d'informació_per_cercar +Informació_de_la_cerca +Mostra_l'historial_del_DNF +Atura_l'execució_(CTRL-C) +Monitor_de_neteja +Escriu_els_paquets_seleccionats_al_quadre_per_instal·lar_/_suprimir +Obre_un_mòdul_per_enviar_ordres_al_terminal +Escriviu_una_ordre_i_premeu_retorn +Llista_de_paquets_cercats._Clic_doble_per_enviar-los_al_quadre. +Monitor_de_l'execució_de_l'ordre +Llengua_del_sistema +Escriviu_la_contrasenya_de_l'usuari +Operació_acabada! +Voleu_continuar? +Neteja_el_quadre +Seleccioneu_la_ubicació_de_la_baixada +Seleccioneu_el_Fitxer +Seleccioneu_un_paquet +Inicieu_el_selector_de_repositoris_per_configurar-lo. +Només_per_als_paquets_instal·lats +Degrada_el_paquet +Ordre_personalitzada +Actualitza_un_paquet +Es_carrega_la_llista_de_paquets +Es_carreguen_els_paquets_instal·lats +Es_carreguen_els_paquets_no_instal·lats +Es_carreguen_les_actualitzacions +Habilita_les_funcions_extres +Cerca_en_línia +Cerca_fora_de_línia +Selecciona-ho_tot +Desmarca-ho_tot +Paquets_instal·lats +Paquets_no_instal·lats +Paquets_actualitzables +Activa_la_cerca_a_les_llistes_locals_(Recomanat) +Si_s'habilita,_el_DnfDrake_està_actiu. +Aquesta_funció_només_s'aplica_en_línia._El_mode_en_línia_està_activat! +No_s'ha_trobat_cap_paquet! +[El_Dnfdrake_treballa_per_a_vós]_ +Què_voleu_fer_amb:__ +Cleans_the_dnf_cache +Create_a_list_of_packages +Package_list,_left_click_to_select,_right_to_info +Add_selected_to_a_Package_List +Apply_and_close +Apply_and_recharge +Save_with_name_the_list +View_Package_List +Delete_Package_List +Excludes_from_updates +Remove +Reload +Save_List +List_excluded: +Name_of_Repository +Path_to_Repository +Path_GpgKey +Cleans_all +Enable_the_Repository +Enable_GpgKey +Create_a_Remote_Repository +Select_the_path +Build/Update_repodata +Add/Update_Repository +The_dnf_cache_need_refresh +Delete_unused_packages +List_unused_package_to_remove +Maximize +Restore +Please_Wait... +Click_for_disable_suspend +Click_for_enable_suspend +Personal_repository_manager +DnfDrake_has_disabled_suspend_do_you_want_to_restore_it? +Do_you_really_want_to_go_out? diff --git a/FILE-EXTRA/dnfdrake-TTP-de_DE b/FILE-EXTRA/dnfdrake-TTP-de_DE new file mode 100644 index 0000000..98d02b1 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-TTP-de_DE @@ -0,0 +1,86 @@ +Enter_the_package_name +Select_the_file +Install_selected_packages +Uninstall_selected_packages +Exit +Select_the_package_type_to_search +Start_search +Configure_commands +Download_packages +Update_the_system +Select_type_of_info_to_search +Search_information +Show_DNF_hystory +Stop_Execution_(CTRL-C) +Clean_monitor +Write_selected_packages_to_install/remove_box +Open_a_module_to_send_commands_to_terminal +Write_command_and_press_enter +List_of_searched_packages,_double_click_to_send_to_box +Command_Execution_Monitor +System_Language +Enter_the_user_password +Operation_Terminated! +Do_you_want_to_proceed? +Clear_the_box +Select_download_location +Select_the_file_to_install +Select_a_package +Start_OM_Repo_Picker_for_configure_the_repository +Only_for_installed_packages +Downgrade_the_package +Custom_command +Update_a_package +Loading_List_Packages +Loading_Installed_Packages +Loading_Packages_Not_Installed +Loading_Updates +Enable_extra_functions +Search_online +Search_offline +Select_all +Deselect_all +Packages_Installed +Packages_Not_Installed +Packages_Upgradeable +Activate_search_on_local_lists_(RECOMMENDED) +If_enabled_DnfDrake_is_active +This_function_works_only_in_online_mode._Online_mode_activated! +Packages_not_Found! +[Dnfdrake_Works_For_You]_ +What_do_you_want_to_do_with:__ +Cleans_the_dnf_cache +Create_a_list_of_packages +Package_list,_left_click_to_select,_right_to_info +Add_selected_to_a_Package_List +Apply_and_close +Apply_and_refresh +Save_the_list_as +View_Package_List +Delete_Package_List +Excludes_from_updates +Remove +Reload +Save_List +List_excluded: +Name_of_Repository +Path_to_Repository +Path_GpgKey +Cleans_all +Enable_the_Repository +Enable_GpgKey +Create_a_Remote_Repository +Select_the_path +Build/Update_repodata +Add/Update_Repository +The_dnf_cache_need_refresh +Delete_unused_packages +List_unused_package_to_remove +Maximize +Restore +Please_Wait... +Click_for_disable_suspend +Click_for_enable_suspend +Personal_repository_manager +DnfDrake_has_disabled_suspend_do_you_want_to_restore_it? +Do_you_really_want_to_go_out? diff --git a/FILE-EXTRA/dnfdrake-TTP-en_GB b/FILE-EXTRA/dnfdrake-TTP-en_GB new file mode 100644 index 0000000..98d02b1 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-TTP-en_GB @@ -0,0 +1,86 @@ +Enter_the_package_name +Select_the_file +Install_selected_packages +Uninstall_selected_packages +Exit +Select_the_package_type_to_search +Start_search +Configure_commands +Download_packages +Update_the_system +Select_type_of_info_to_search +Search_information +Show_DNF_hystory +Stop_Execution_(CTRL-C) +Clean_monitor +Write_selected_packages_to_install/remove_box +Open_a_module_to_send_commands_to_terminal +Write_command_and_press_enter +List_of_searched_packages,_double_click_to_send_to_box +Command_Execution_Monitor +System_Language +Enter_the_user_password +Operation_Terminated! +Do_you_want_to_proceed? +Clear_the_box +Select_download_location +Select_the_file_to_install +Select_a_package +Start_OM_Repo_Picker_for_configure_the_repository +Only_for_installed_packages +Downgrade_the_package +Custom_command +Update_a_package +Loading_List_Packages +Loading_Installed_Packages +Loading_Packages_Not_Installed +Loading_Updates +Enable_extra_functions +Search_online +Search_offline +Select_all +Deselect_all +Packages_Installed +Packages_Not_Installed +Packages_Upgradeable +Activate_search_on_local_lists_(RECOMMENDED) +If_enabled_DnfDrake_is_active +This_function_works_only_in_online_mode._Online_mode_activated! +Packages_not_Found! +[Dnfdrake_Works_For_You]_ +What_do_you_want_to_do_with:__ +Cleans_the_dnf_cache +Create_a_list_of_packages +Package_list,_left_click_to_select,_right_to_info +Add_selected_to_a_Package_List +Apply_and_close +Apply_and_refresh +Save_the_list_as +View_Package_List +Delete_Package_List +Excludes_from_updates +Remove +Reload +Save_List +List_excluded: +Name_of_Repository +Path_to_Repository +Path_GpgKey +Cleans_all +Enable_the_Repository +Enable_GpgKey +Create_a_Remote_Repository +Select_the_path +Build/Update_repodata +Add/Update_Repository +The_dnf_cache_need_refresh +Delete_unused_packages +List_unused_package_to_remove +Maximize +Restore +Please_Wait... +Click_for_disable_suspend +Click_for_enable_suspend +Personal_repository_manager +DnfDrake_has_disabled_suspend_do_you_want_to_restore_it? +Do_you_really_want_to_go_out? diff --git a/FILE-EXTRA/dnfdrake-TTP-en_US b/FILE-EXTRA/dnfdrake-TTP-en_US new file mode 100644 index 0000000..98d02b1 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-TTP-en_US @@ -0,0 +1,86 @@ +Enter_the_package_name +Select_the_file +Install_selected_packages +Uninstall_selected_packages +Exit +Select_the_package_type_to_search +Start_search +Configure_commands +Download_packages +Update_the_system +Select_type_of_info_to_search +Search_information +Show_DNF_hystory +Stop_Execution_(CTRL-C) +Clean_monitor +Write_selected_packages_to_install/remove_box +Open_a_module_to_send_commands_to_terminal +Write_command_and_press_enter +List_of_searched_packages,_double_click_to_send_to_box +Command_Execution_Monitor +System_Language +Enter_the_user_password +Operation_Terminated! +Do_you_want_to_proceed? +Clear_the_box +Select_download_location +Select_the_file_to_install +Select_a_package +Start_OM_Repo_Picker_for_configure_the_repository +Only_for_installed_packages +Downgrade_the_package +Custom_command +Update_a_package +Loading_List_Packages +Loading_Installed_Packages +Loading_Packages_Not_Installed +Loading_Updates +Enable_extra_functions +Search_online +Search_offline +Select_all +Deselect_all +Packages_Installed +Packages_Not_Installed +Packages_Upgradeable +Activate_search_on_local_lists_(RECOMMENDED) +If_enabled_DnfDrake_is_active +This_function_works_only_in_online_mode._Online_mode_activated! +Packages_not_Found! +[Dnfdrake_Works_For_You]_ +What_do_you_want_to_do_with:__ +Cleans_the_dnf_cache +Create_a_list_of_packages +Package_list,_left_click_to_select,_right_to_info +Add_selected_to_a_Package_List +Apply_and_close +Apply_and_refresh +Save_the_list_as +View_Package_List +Delete_Package_List +Excludes_from_updates +Remove +Reload +Save_List +List_excluded: +Name_of_Repository +Path_to_Repository +Path_GpgKey +Cleans_all +Enable_the_Repository +Enable_GpgKey +Create_a_Remote_Repository +Select_the_path +Build/Update_repodata +Add/Update_Repository +The_dnf_cache_need_refresh +Delete_unused_packages +List_unused_package_to_remove +Maximize +Restore +Please_Wait... +Click_for_disable_suspend +Click_for_enable_suspend +Personal_repository_manager +DnfDrake_has_disabled_suspend_do_you_want_to_restore_it? +Do_you_really_want_to_go_out? diff --git a/FILE-EXTRA/dnfdrake-TTP-es_ES b/FILE-EXTRA/dnfdrake-TTP-es_ES new file mode 100644 index 0000000..a5470e1 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-TTP-es_ES @@ -0,0 +1,86 @@ +Introduzca_el_nombre_del_paquete +Seleccione_el_archivo +Instalar_los_paquetes_seleccionados +Desinstalar_los_paquetes_seleccionados +Salir_de +Seleccione_el_tipo_de_paquete_a_buscar +Iniciar_la_búsqueda +Configurar_comandos +Descargar_paquetes +Actualizar_el_sistema +Seleccionar_el_tipo_de_información_a_buscar +Buscar_información +Mostrar_la_historia_del_DNF +Detener_la_ejecución_(CTRL-C) +Limpiar_el_monitor +Escribir_los_paquetes_seleccionados_en_la_caja_de_instalación/remoción +Abrir_un_módulo_para_enviar_comandos_a_la_terminal +Escriba_el_comando_y_presione_enter +Lista_de_paquetes_buscados,_doble_clic_para_enviar_a_la_caja +Monitor_de_ejecución_de_comandos +Idioma_del_sistema +Introduzca_la_contraseña_del_usuario +¡Operación_terminada! +¿Desea_continuar? +Desactive_la_casilla +Seleccione_la_ubicación_de_la_descarga +Seleccione_el_archivo_a_instalar +Seleccione_un_paquete +Inicie_el_OM_Repo_Picker_para_configurar_el_repositorio +Sólo_para_paquetes_instalados +Descender_el_paquete +Comando_personalizado +Actualizar_un_paquete +Cargar_paquetes_de_la_lista +Cargar_paquetes_instalados +Cargar_paquetes_no_instalados +Cargar_actualizaciones +Habilitar_funciones_extra +Buscar_en_línea +Buscar_sin_conexión +Seleccionar_todo +Deseleccionar_todo +Paquetes_instalados +Paquetes_no_instalados +Paquetes_actualizables +Activar_la_búsqueda_en_las_listas_locales_(RECOMENDADO) +Si_se_activa_DnfDrake +Esta_función_sólo_funciona_en_modo_online._¡Modo_online_activado! +¡Paquetes_no_encontrados! +[Dnfdrake_Works_For_You]_ +What_do_you_want_to_do_with:__ +Cleans_the_dnf_cache +Create_a_list_of_packages +Package_list,_left_click_to_select,_right_to_info +Add_selected_to_a_Package_List +Apply_and_close +Apply_and_refresh +Save_the_list_as +View_Package_List +Delete_Package_List +Excludes_from_updates +Remove +Reload +Save_List +List_excluded: +Name_of_Repository +Path_to_Repository +Path_GpgKey +Cleans_all +Enable_the_Repository +Enable_GpgKey +Create_a_Remote_Repository +Select_the_path +Build/Update_repodata +Add/Update_Repository +The_dnf_cache_need_refresh +Delete_unused_packages +List_unused_package_to_remove +Maximize +Restore +Please_Wait... +Click_for_disable_suspend +Click_for_enable_suspend +Personal_repository_manager +DnfDrake_has_disabled_suspend_do_you_want_to_restore_it? +Do_you_really_want_to_go_out? diff --git a/FILE-EXTRA/dnfdrake-TTP-fr_FR b/FILE-EXTRA/dnfdrake-TTP-fr_FR new file mode 100644 index 0000000..8cea963 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-TTP-fr_FR @@ -0,0 +1,86 @@ +Entrez_le_nom_du_paquet +Sélectionnez_le_fichier +Installer_les_paquets_sélectionnés +Désinstaller_les_paquets_sélectionnés +Sortir +Selectionnez_le_type_de_paquet_à_rechercher +Démarrer_la_recherche +Configurer_les_commandes +Télécharger_les_paquets +Mettre_à_jour_le_système +Sélectionnez_le_type_d'info_à_rechercher +Rechercher_les_informations +Montrer_l'historique_de_DNF +Arrêter_l'exécution_(CTRL-C) +Nettoyer_l'écran +Ajouter_les_paquets_selectionnés_à_la_boîte_d'installation/suppression +Ouvrir_un_module_pour_envoyer_des_commandes_au_terminal +Écrivez_la_commande_puis_appuyez_sur_entrée +Liste_des_paquets_recherchés,_double_cliquez_pour_ajouter_à_la_boîte +Moniteur_d'exécution_de_commande +Langue_du_système +Entrez_le_mot_de_passe_utilisateur +Opération_terminée_! +Souhaitez-vous_procéder_? +Nettoyer_la_boîte +Choisissez_l'emplacement_de_téléchargement +Selectionnez_le_fichier_à_installer +Selectionnez_un_paquet +Démarrer_OM_Repo_Picker_pour_configurer_le_dépôt +Seulement_pour_les_paquets_installés +Downgrade_the_package +Custom_command +Update_a_package +Loading_List_Packages +Loading_Installed_Packages +Loading_Packages_Not_Installed +Loading_Updates +Enable_extra_functions +Search_online +Search_offline +Select_all +Deselect_all +Packages_Installed +Packages_Not_Installed +Packages_Upgradeable +Activate_search_on_local_lists_(RECOMMENDED) +If_enabled_DnfDrake_is_active +This_function_works_only_in_online_mode._Online_mode_activated! +Packages_not_Found! +[Dnfdrake_Works_For_You]_ +What_do_you_want_to_do_with:__ +Cleans_the_dnf_cache +Create_a_list_of_packages +Package_list,_left_click_to_select,_right_to_info +Add_selected_to_a_Package_List +Apply_and_close +Apply_and_refresh +Save_the_list_as +View_Package_List +Delete_Package_List +Excludes_from_updates +Remove +Reload +Save_List +List_excluded: +Name_of_Repository +Path_to_Repository +Path_GpgKey +Cleans_all +Enable_the_Repository +Enable_GpgKey +Create_a_Remote_Repository +Select_the_path +Build/Update_repodata +Add/Update_Repository +The_dnf_cache_need_refresh +Delete_unused_packages +List_unused_package_to_remove +Maximize +Restore +Please_Wait... +Click_for_disable_suspend +Click_for_enable_suspend +Personal_repository_manager +DnfDrake_has_disabled_suspend_do_you_want_to_restore_it? +Do_you_really_want_to_go_out? diff --git a/FILE-EXTRA/dnfdrake-TTP-gb_GB b/FILE-EXTRA/dnfdrake-TTP-gb_GB new file mode 100644 index 0000000..98d02b1 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-TTP-gb_GB @@ -0,0 +1,86 @@ +Enter_the_package_name +Select_the_file +Install_selected_packages +Uninstall_selected_packages +Exit +Select_the_package_type_to_search +Start_search +Configure_commands +Download_packages +Update_the_system +Select_type_of_info_to_search +Search_information +Show_DNF_hystory +Stop_Execution_(CTRL-C) +Clean_monitor +Write_selected_packages_to_install/remove_box +Open_a_module_to_send_commands_to_terminal +Write_command_and_press_enter +List_of_searched_packages,_double_click_to_send_to_box +Command_Execution_Monitor +System_Language +Enter_the_user_password +Operation_Terminated! +Do_you_want_to_proceed? +Clear_the_box +Select_download_location +Select_the_file_to_install +Select_a_package +Start_OM_Repo_Picker_for_configure_the_repository +Only_for_installed_packages +Downgrade_the_package +Custom_command +Update_a_package +Loading_List_Packages +Loading_Installed_Packages +Loading_Packages_Not_Installed +Loading_Updates +Enable_extra_functions +Search_online +Search_offline +Select_all +Deselect_all +Packages_Installed +Packages_Not_Installed +Packages_Upgradeable +Activate_search_on_local_lists_(RECOMMENDED) +If_enabled_DnfDrake_is_active +This_function_works_only_in_online_mode._Online_mode_activated! +Packages_not_Found! +[Dnfdrake_Works_For_You]_ +What_do_you_want_to_do_with:__ +Cleans_the_dnf_cache +Create_a_list_of_packages +Package_list,_left_click_to_select,_right_to_info +Add_selected_to_a_Package_List +Apply_and_close +Apply_and_refresh +Save_the_list_as +View_Package_List +Delete_Package_List +Excludes_from_updates +Remove +Reload +Save_List +List_excluded: +Name_of_Repository +Path_to_Repository +Path_GpgKey +Cleans_all +Enable_the_Repository +Enable_GpgKey +Create_a_Remote_Repository +Select_the_path +Build/Update_repodata +Add/Update_Repository +The_dnf_cache_need_refresh +Delete_unused_packages +List_unused_package_to_remove +Maximize +Restore +Please_Wait... +Click_for_disable_suspend +Click_for_enable_suspend +Personal_repository_manager +DnfDrake_has_disabled_suspend_do_you_want_to_restore_it? +Do_you_really_want_to_go_out? diff --git a/FILE-EXTRA/dnfdrake-TTP-it_IT b/FILE-EXTRA/dnfdrake-TTP-it_IT new file mode 100644 index 0000000..75d9637 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-TTP-it_IT @@ -0,0 +1,86 @@ +Inserire_il_nome_del_pacchetto +Seleziona_i_file +Installa_i_pacchetti_indicati +Disinstalla_i_pacchetti_indicati +Esci +Seleziona_il_tipo_di_pacchetto_da_cercare +Avvia_la_ricerca +Configura_i_comandi +Scarica_i_pacchetti +Aggiorna_il_sistema +Seleziona_il_tipo_di_info_da_cercare +Cerca_informazioni +Mostra_la_cronologia_di_DNF +Interrompe_l'esecuzione_(CTRL-C) +Pulisce_il_monitor +Scrive_i_pacchetti_selezionati_al_box_per_installazione/rimozione +Apre_un_modulo_per_inviare_comandi_al_terminale +Scrivere_il_comando_e_premere_invio +Elenco_dei_pacchetti_cercati,_doppio_click_per_inviarli_al_box +Monitor_dell'esecuzione_dei_comandi +Lingua_di_sistema +Inserire_la_password_utente +Operazione_Terminata! +Vuoi_Procedere? +Pulisce_il_box +Selezionare_dove_salvare_il_pacchetto +Selezionare_il_file_da_installare +Seleziona_un_pacchetto +Avvia_OM_Repo_Picker_per_configurare_i_repository +Solo_per_pacchetti_installati +Installa_la_versione_precedente +Esegue_un_comando_personalizzato +Aggiorna_un_pacchetto +Preparazione_Liste_Pacchetti +Caricamento_Pacchetti_Installati +Caricamento_Pacchetti_Non_Installati +Caricamento_Aggiornamenti +Abilita_delle_funzioni_extra +Ricerca_online +Ricerca_offline +Seleziona_tutti +Deseleziona_tutti +Pacchetti_Installati +Pacchetti_non_Installati +Pacchetti_Aggiornabili +Attiva_la_ricerca_su_liste_locali_(CONSIGLIATO) +Se_abilitato_DnfDrake_è_attivo +Questa_funzione_funziona_solo_in_modalità_online._Modalità_online_attivata! +Nessun_Pacchetto_trovato! +[Dnfdrake_Lavora_Per_Te]_ +Cosa_vuoi_fare_con:__ +Pulisce_la_cache_di_dnf +Crea_la_lista_dei_pacchetti +Elenco_dei_pacchetti,_click_sinistro_per_selezionare,_destro_per_info +Aggiungi_selezionati_ad_una_Package_List +Applica_e_chiudi +Applica_e_ricarica +Salva_con_nome_la_lista +Visualizza_Package_List +Cancella_Package_List +Esclude_dagli_aggiornamenti +Rimuovi +Ricarica +Salva_Elenco +Lista_esclusi: +Nome_del_Repository +Percorso_del_Repository +Percorso_GpgKey +Pulisce_tutto +Abilita_il_Repository +Abilita_GpgKey +Crea_un_Repository_remoto +Seleziona_il_percorso +Build/Update_repodata +Aggiungi/Aggiorna_Repository +La_cache_di_dnf_deve_essere_aggiornata +Elimina_i_pacchetti_non_più_necessari +Elenco_pacchetti_non_più_necessari_che_saranno_rimossi +Massimizza +Ripristina +Download_in_corso._Attendere_prego... +Clicca_per_disabilitare_la_sospensione +Clicca_per_abilitare_la_sospensione +Gestore_dei_repository_personali +DnfDrake_ha_disabilitato_la_sospensione_la_vuoi_ripristinare? +Vuoi_Uscire_Veramente? diff --git a/FILE-EXTRA/dnfdrake-TTP-pl_PL b/FILE-EXTRA/dnfdrake-TTP-pl_PL new file mode 100644 index 0000000..d86911d --- /dev/null +++ b/FILE-EXTRA/dnfdrake-TTP-pl_PL @@ -0,0 +1,86 @@ +Wprowadź_nazwę_pakietu +Wybierz_plik +Zainstaluj_wybrane_pakiety +Usuń_wybrane_pakiety +Wyjdź +Wybierz_typ_pakietów_do_wyszukania +Rozpocznij_wyszukiwanie +Konfiguruj_polecenia +Pobierz_pakiety +Zaktualizuj_system +Wybierz_typ_informacji_do_wyszukania +Szukaj_informacji +Pokaż_historię_DNF +Zatrzymaj_Wykonywanie_(CTRL-C) +Wyczyść_monitor +Wpisz_do_okna_wybrane_pakiety_które_chcesz_zainstalować/usunąć +Otwórz_moduł_do_wysyłania_poleceń_do_konsoli +Wpisz_polecenie_a_następnie_wciśnij_enter +Lista_znalezionych_pakietów,_naciśnij_podwójnie_aby_wysłać_do_okna +Monitor_Wykonywania_Poleceń +Język_Systemowy +Wprowadź_hasło_użytkownika +Operacja_Zakończona! +Czy_chcesz_kontynuować? +Wyczyść_pole +Wybierz_lokalizację_pobierania +Wybierz_pakiety_do_instalacji +Wybierz_paakiet +Uruchom_OM_Repo_Picker_aby_skonfigurować_repozytoria +Wyłącznie_dla_zainstalowanych_pakietów +Downgrade_the_package +Custom_command +Update_a_package +Loading_List_Packages +Loading_Installed_Packages +Loading_Packages_Not_Installed +Loading_Updates +Enable_extra_functions +Search_online +Search_offline +Select_all +Deselect_all +Packages_Installed +Packages_Not_Installed +Packages_Upgradeable +Activate_search_on_local_lists_(RECOMMENDED) +If_enabled_DnfDrake_is_active +This_function_works_only_in_online_mode._Online_mode_activated! +Packages_not_Found! +[Dnfdrake_Works_For_You]_ +What_do_you_want_to_do_with:__ +Cleans_the_dnf_cache +Create_a_list_of_packages +Package_list,_left_click_to_select,_right_to_info +Add_selected_to_a_Package_List +Apply_and_close +Apply_and_refresh +Save_the_list_as +View_Package_List +Delete_Package_List +Excludes_from_updates +Remove +Reload +Save_List +List_excluded: +Name_of_Repository +Path_to_Repository +Path_GpgKey +Cleans_all +Enable_the_Repository +Enable_GpgKey +Create_a_Remote_Repository +Select_the_path +Build/Update_repodata +Add/Update_Repository +The_dnf_cache_need_refresh +Delete_unused_packages +List_unused_package_to_remove +Maximize +Restore +Please_Wait... +Click_for_disable_suspend +Click_for_enable_suspend +Personal_repository_manager +DnfDrake_has_disabled_suspend_do_you_want_to_restore_it? +Do_you_really_want_to_go_out? diff --git a/FILE-EXTRA/dnfdrake-TTP-ru_RU b/FILE-EXTRA/dnfdrake-TTP-ru_RU new file mode 100644 index 0000000..98d02b1 --- /dev/null +++ b/FILE-EXTRA/dnfdrake-TTP-ru_RU @@ -0,0 +1,86 @@ +Enter_the_package_name +Select_the_file +Install_selected_packages +Uninstall_selected_packages +Exit +Select_the_package_type_to_search +Start_search +Configure_commands +Download_packages +Update_the_system +Select_type_of_info_to_search +Search_information +Show_DNF_hystory +Stop_Execution_(CTRL-C) +Clean_monitor +Write_selected_packages_to_install/remove_box +Open_a_module_to_send_commands_to_terminal +Write_command_and_press_enter +List_of_searched_packages,_double_click_to_send_to_box +Command_Execution_Monitor +System_Language +Enter_the_user_password +Operation_Terminated! +Do_you_want_to_proceed? +Clear_the_box +Select_download_location +Select_the_file_to_install +Select_a_package +Start_OM_Repo_Picker_for_configure_the_repository +Only_for_installed_packages +Downgrade_the_package +Custom_command +Update_a_package +Loading_List_Packages +Loading_Installed_Packages +Loading_Packages_Not_Installed +Loading_Updates +Enable_extra_functions +Search_online +Search_offline +Select_all +Deselect_all +Packages_Installed +Packages_Not_Installed +Packages_Upgradeable +Activate_search_on_local_lists_(RECOMMENDED) +If_enabled_DnfDrake_is_active +This_function_works_only_in_online_mode._Online_mode_activated! +Packages_not_Found! +[Dnfdrake_Works_For_You]_ +What_do_you_want_to_do_with:__ +Cleans_the_dnf_cache +Create_a_list_of_packages +Package_list,_left_click_to_select,_right_to_info +Add_selected_to_a_Package_List +Apply_and_close +Apply_and_refresh +Save_the_list_as +View_Package_List +Delete_Package_List +Excludes_from_updates +Remove +Reload +Save_List +List_excluded: +Name_of_Repository +Path_to_Repository +Path_GpgKey +Cleans_all +Enable_the_Repository +Enable_GpgKey +Create_a_Remote_Repository +Select_the_path +Build/Update_repodata +Add/Update_Repository +The_dnf_cache_need_refresh +Delete_unused_packages +List_unused_package_to_remove +Maximize +Restore +Please_Wait... +Click_for_disable_suspend +Click_for_enable_suspend +Personal_repository_manager +DnfDrake_has_disabled_suspend_do_you_want_to_restore_it? +Do_you_really_want_to_go_out? diff --git a/FILE-EXTRA/dnfdrake.desktop b/FILE-EXTRA/dnfdrake.desktop new file mode 100644 index 0000000..6a00c3b --- /dev/null +++ b/FILE-EXTRA/dnfdrake.desktop @@ -0,0 +1,147 @@ +[Desktop Entry] +Name=Dnfdrake +Name[af]=Dnfdrake +Name[bg]=Dnfdrake +Name[ca]=Dnfdrake +Name[cs]=Dnfdrake +Name[da]=Dnfdrake +Name[de]=Dnfdrake +Name[el]=Dnfdrake +Name[en_GB]=Dnfdrake +Name[eo]=Dnfdrake +Name[es]=Dnfdrake +Name[et]=Dnfdrake +Name[eu]=Dnfdrake +Name[fr]=Dnfdrake +Name[hi]=Dnfdrake +Name[hr]=Dnfdrake +Name[hu]=Dnfdrake +Name[id]=Dnfdrake +Name[ja]=Dnfdrake +Name[lt]=Dnfdrake +Name[nb]=Dnfdrake +Name[nl]=Dnfdrake +Name[pl]=Dnfdrake +Name[pt]=Dnfdrake +Name[pt_BR]=Dnfdrake +Name[ru]=Dnfdrake +Name[sk]=Dnfdrake +Name[sl]=Dnfdrake +Name[sq]=Dnfdrake +Name[sv]=Dnfdrake +Name[tr]=Dnfdrake +Name[uk]=Dnfdrake +Name[zh_CN]=Dnfdrake +Name[zh_TW]=Dnfdrake +GenericName=Install & Remove Software +GenericName[af]=Installeer en verwyder sagteware +GenericName[ar]=تثبيت وحذف البرمجيات +GenericName[ast]=Instalar y Desaniciar Software +GenericName[bg]=Инсталиране и премахване на софтуер +GenericName[bn]=সফটওয়্যার ইন্সটল এবং সরিয়ে ফেলুন +GenericName[br]=Staliañ ha distaliañ poelladoù +GenericName[ca]=Instal·leu i elimineu programari +GenericName[cs]=Instalovat a odebírat software +GenericName[cy]=Gosod a thynnu meddalwedd +GenericName[da]=Installér og fjern software +GenericName[de]=Installieren & Entfernen von Software +GenericName[el]=Εγκατάσταση και απεγκατάσταση λογισμικού +GenericName[en_GB]=Install & Remove Software +GenericName[eo]=Instali kaj Forigi Programojn +GenericName[es]=Instalar y quitar aplicaciones +GenericName[es_419]=Instalar & Eliminar Programas +GenericName[et]=Tarkvara paigaldamine ja eemaldamine +GenericName[eu]=Softwarea instalatu eta kendu +GenericName[fi]=Asenna ja poista ohjelmia +GenericName[fr]=Installer et désinstaller des logiciels +GenericName[gl]=Instalar e eliminar software +GenericName[he]=התקנת והסרת תכנה +GenericName[hi]=सॉफ्टवेयर इंस्टॉल करें व हटाएँ +GenericName[hr]=Instaliraj i ukloni software +GenericName[hu]=Szoftver telepítése & eltávolítása +GenericName[id]=Install & Hapus Software +GenericName[is]=Setja inn og fjarlægja hugbúnað +GenericName[it]=Installa e rimuovi software +GenericName[ja]=ソフトウェアのインストールと削除 +GenericName[ko]=소프트웨어 설치/제거 +GenericName[ky]=Программаны орнотуу жана өчүрүү +GenericName[lt]=Įdiegti ir šalinti programinę įrangą +GenericName[ltg]=Instalēt & Nūjimt programmaturu +GenericName[ms]=Pasang & Buang Perisian +GenericName[nb]=Installer og fjern programvare +GenericName[nl]=Software installeren & verwijderen +GenericName[nn]=Installer og fjern programvare +GenericName[pl]=Wgrywanie i usuwanie oprogramowania +GenericName[pt]=Instalar e Remover Programas +GenericName[pt_BR]=Instalar e Remover Programas +GenericName[ro]=Instalați & Înlăturați aplicații +GenericName[ru]=Установка и удаление программ +GenericName[sk]=Inštalácia a odstránenie softvéru +GenericName[sl]=Namestite in odstranite programe +GenericName[sq]=Instalo & Hiq Programe +GenericName[sv]=Installera och ta bort program +GenericName[tg]=Насб ва тоза кардани нармафзор +GenericName[tr]=Yazılım Kur & Kaldır +GenericName[uk]=Встановлення або вилучення програм +GenericName[uz]=Dasturlarni oʻrnatish va olib tashlash +GenericName[vi]=Cài đặt và gỡ bỏ phần mềm +GenericName[wa]=Astaler eyet oister des programes +GenericName[zh_CN]=安装 & 移除软件 +GenericName[zh_HK]=安裝與移除軟體 +GenericName[zh_TW]=安裝與移除軟體 +Icon=dnfdrake.svg +Exec=dnfdrake.gambas +Comment=A graphical front end for installing, removing and updating packages +Comment[af]=’n Grafiese program vir die installasie, verwydering en bywerking van pakkette +Comment[ar]=واجهة رسومية لتثبيت الحزم وإزالتها وتحديثها +Comment[ast]=Un frontal gráficu pa instalar, desaniciar y anovar paquetes +Comment[bg]=Графична среда за инсталиране, премахване и обновяване на пакети +Comment[br]=Un etrefas evit staliañ, distaliañ ha bremanaet pakadoù +Comment[ca]=Una interfície gràfica per instal·lar, eliminar i actualitzar paquets +Comment[cs]=Grafický nástroj pro instalaci, odstranění a aktualizaci balíčků +Comment[cy]=Gwyneb graffigol ar gyfer pori pecynnau sydd wedi eu gosod ac sydd ar gael +Comment[da]=En grafisk brugergrænseflade for installering, fjernelse og opdatering af programpakker +Comment[de]=Eine grafische Benutzerschnittstelle zum Installieren, Entfernen und Aktualisieren von Paketen +Comment[el]=Μια εφαρμογή για εγκατάσταση, αφαίρεση και ενημέρωση πακέτων +Comment[en_GB]=A graphical front end for installing, removing and updating packages +Comment[eo]=Grafika fasado por instali, forigi kaj ĝisdatigi pakaĵojn +Comment[es]=Una interfaz gráfica para instalar, desinstalar y actualizar paquetes +Comment[et]=Tarkvara paigaldamise, eemaldamise ja uuendamise graafiline kasutajaliides +Comment[eu]=Paketeak instalatu, ezabatu eta eguneratzeko bitarteko grafiko bat +Comment[fi]=Graafinen käyttöliittymä pakettien asentamiseen, päivittämiseen ja poistamiseen. +Comment[fr]=Une interface graphique pour installer, supprimer et mettre à jour les paquetages +Comment[gl]=Unha interface gráfica para instalar, eliminar e actualizar paquetes +Comment[he]=מנשק גרפי להתקנת, הסרת ועדכון חבילות +Comment[hi]=पैकेज इंस्टॉल करने, हटाने व अपडेट करने हेतु एक चित्रात्मक माध्यम +Comment[hu]=Grafikus felület csomagok telepítéséhez, törléséhez és frissítéséhez +Comment[id]=Front end grafis untuk menginstall, menghapus dan mengupdate paket +Comment[is]=Grafískt viðmót til að setja inn, fjarlægja og uppfæra hugbúnað +Comment[it]=Un'interfaccia grafica per installare, rimuovere e aggiornare pacchetti +Comment[ja]=パッケージのインストール, 削除, 更新を行うためのグラフィカル フロント エンド +Comment[ky]=Пакеттерди орнотуу, өчүрүү жана жаңылоо графикалык интерфейси +Comment[lt]=Grafinės naudotojo sąsaja, skirta diegti, šalinti ir atnaujinti paketus +Comment[mk]=Графички интерфејс за инсталирање, отстранување и ажурирање на пакети +Comment[ms]=Antara depan bergrafik untuk memasang, membuang dan mengemaskini pakej +Comment[nb]=Grafisk grensesnitt for installering, fjerning og oppdatering av pakker. +Comment[nl]=Een grafische schil voor het installeren, verwijderen en bijwerken van pakketten +Comment[nn]=Eit grafisk brukargrensesnitt for installering, fjerning og oppdatering av programpakkar. +Comment[pl]=Graficzna nakładka do wgrywania, usuwania i uaktualniania pakietów +Comment[pt]=Um interface gráfico para instalar, remover e actualizar pacotes +Comment[pt_BR]=Uma Interface gráfica para instalar, remover e atualizar Programas +Comment[ro]=O interfață grafică pentru instalarea, înlăturarea și actualizarea pachetelor +Comment[ru]=Графический интерфейс для установки, удаления и обновления пакетов +Comment[sk]=Grafické rozhranie pre inštaláciu, odstránenie a aktualizáciu balíkov +Comment[sl]=Grafični vmesnik za nameščanje, odstranjevanje in posodabljanje paketov +Comment[sq]=Një instalim grafik, heqjen dhe përditësimin e paketave +Comment[sv]=Ett grafiskt gränssnitt för installation, borttagning och uppdatering av paket +Comment[tr]=Paketleri kurmak, kaldırmak ve güncellemek için grafiksel bir önyüz +Comment[uk]=Графічний інтерфейс для встановлення, вилучення і оновлення пакунків +Comment[wa]=Ene eterface grafike po-z astaler, oister et mete a djoû les pacaedjes +Comment[zh_CN]=安装、删除和更新软件包的图形化工具 +Comment[zh_TW]=安裝、移除與更新軟體套件 +Terminal=false +Type=Application +Categories=System;Utility;PackageManager; +StartupNotify=true +MimeType=application/x-rpm;application/x-redhat-package-manager; + diff --git a/FILE-EXTRA/license b/FILE-EXTRA/license new file mode 100644 index 0000000..4842d81 --- /dev/null +++ b/FILE-EXTRA/license @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/ICONS-EXTRA/install.png b/ICONS-EXTRA/install.png new file mode 100644 index 0000000000000000000000000000000000000000..dc3647bf61130ee8d877c2975f59451ccae245fc GIT binary patch literal 857 zcmV-f1E&0mP)X_e1bU?xY;(_>r2F3PhFm;6@i`g5tp)t@cSPIR z1}{fQ&-MZjuG~N&knTU!GmC-6I`QHH7ziso2*F5%R9c9^pKc;x{zPf z%rNDsZH(X~{ob#IDl0cgez=Y#Br$Mnfp~EN54a#4J?+*a5q>f3g_58FNPfPFyr(4? zT(0BIa1uT4ty_v;BPZsCM*D#Qs!Mg+xltaeQQAxf^Dgu4S)|6}ye!|*lJvW}-uCTz z1K2n_c1~uKU5|f#^wpyhC}wl%EMl05NvD)NI=nNs7o@qMs$3SZ!Dv>ed!FLP|;SG#{S?(}*ke9{s>9*#~ zAG7J1<`x(rnYy~_%nl&^h(zolc7{p00|g9nkaCz){*AQkEgVdyuC8`@g(;Fu&D^VQ zx;IQrpwNg-#HN1GbqhLI-E;>lQ`heNn^n?@uzqT6mmkPRWp*@3F9}9EKi@NRx1GXV j<{r#Geev5rd)faD&YO{Rp$Sm}00000NkvXXu0mjf-zAl- literal 0 HcmV?d00001 diff --git a/ICONS-EXTRA/installed.png b/ICONS-EXTRA/installed.png new file mode 100644 index 0000000000000000000000000000000000000000..a3eadfad2dae64e384056b6e08aac568361e83e0 GIT binary patch literal 845 zcmV-T1G4;yP)fA4qBOs26!NTE=*3k9(>D2~)Lrr<(B zHzuJQ!S+w+s;L%iv&bS~DLAeFh9r>2l`dR~m1dG@D79TFHErBka_eL+=Y3q9N!q!b z)XQ@?aK6j?d!O&ZdyEWye0O?K7M+$D7rbHc3V`5YK=*+K!{@&rn*OU-ymfYrm8biw zg)j+x0Ssg%ZfOJA)$Pp}N;gL*tC`>rZqK}IaWW5_cn+{rD+yAKsi=-2;!6r~9|_{3KKHKSEQNvPyMp{nX9TYt;a-mFIIe6$SjC z*G8dp59AY{ zh%r79+Sh`+x3yJE(vL!v6*3m%KBTVO+%Bm-u}oMqfjTG`y62HNF}G7jQJ1r=*fVxvzFNU0&St=8w-%Y*E~8+WL&vH;7XByL>%D?+>{I~w ztT5cxKet_G_DKpQII=FsYq7+ypq}8=`7-X#nFA;HoX%C3Qm8p#&~XL^_hO6%NfTLM zfE%?6IRYeNuDS%lP;fAV9yiLd1$*!A`N3vA|2sUr%ikTD+%Hd;#@9;E?(uq@Z@gvz zCzdW=#+ca~syVjPgkTU1Gmse;EM2InbrUSDHum)J%(%2zy!urD$kiGpp=Hr}`V1Wi zC;%qhfBkwime^R~y$``<&|CTa!nVD72MLYdAE81xpHFu=;&*B%vW$@@Z6LK`C8 zOT}bC*9Dggbsw#~^Yw#gS(#O0=;!l;aUT=N#zDtu{Y-&}VD~XCc&=~$&RbU=_lo}; Xe-c@l;Zze_00000NkvXXu0mjfj0A%# literal 0 HcmV?d00001 diff --git a/ICONS-EXTRA/update.png b/ICONS-EXTRA/update.png new file mode 100644 index 0000000000000000000000000000000000000000..85376e71f22be642bc24eb2bc4851d5365e1d2ba GIT binary patch literal 861 zcmV-j1ETziP)N5UV=(ZqqQU3wyN;mmYrYQ<`U9b!BXVomEbuw{WX-R6GnfKm3$Hh!z zW->ED{lbNJ?mOpm&$&NEAH6nT-IEV-T<+5@e+;y@^~cvhD{_|8Lgj_o(jUFz)!i|5 zsWz%2o5S@EFxGG2wl;*$4i`GNFk7nk1s|KQjw^{}ho^P`cI#WiWE9Zm@U-ShOfai>cOuTP{sGyeGK0{|>tZ*XC? zz(dj{-b+;FhIE)N#)22 z7Ap}#!23f1eoD=J*`=95V1W6GAqNz23lIc-rqNx?p&nz|%s0%OomzBZE(`|wtv6%7 zEPyA@ue|ThnL8tX{_=f070{uVKE1iQE8P9P?@sOiKmgCoS4VEG|9J)RB!Kb;DjJ{w zO4?VI{`r=0+S7sBw!ryn*Y10t|6;aO-`ppUpZ~sOF}Vt@Yf~{pMUF%(XbThtTwPG8 zg(M!icJfdaTI&kHwUdXcMUgyh@TED#FicE_i3lUX1cop|tIvfYqKoK!y4G;P(vkAB#b70fs`EwlZCaTnnH nDrv=)Tx?n_ubw`9vse7z2?3d49qU(400000NkvXXu0mjffBlIt literal 0 HcmV?d00001 diff --git a/dnfdrake.png b/dnfdrake.png new file mode 100644 index 0000000000000000000000000000000000000000..556f6dce51d90a306e461c34a596fecadecfe9d9 GIT binary patch literal 4176 zcmV-W5U=lvP)Jp;r1h>i=%C_|p^AfoD2Suhp-T{{724{Orb%09(vYNxxC$-~1qac^ z+u%RYRd7`h1Vs>W@eg=gL?WLNDuRRW@;;oGbNIdkvRc+HFFFdA?YqfDTuEoLO4B2a zG}1yZQBC)p>A5+TKj-ZlN$jf;k;VU}EpK=_NX@{6?zlckQ-HecJAyZWZoR1GLD~a` z-E<}k(z(!cAwLK%g#04dO(kbQ7MV)n2j_mUUUV&xhk%$>uIk_K5kF}+?1g!t59r4u zNrE^EIjWQ><1<1D8~*T(e)(ppprBL1VFi~G1&a6#qfo`eK*7Ytz@W^E=>2z}o;f}i zrnkqT;XVkS2cT&aK59Ymz8?f12N1b~Q@if3?7`$KL~3;{whNtWaC}zRa$9h+4n4Py z=4xM31dvS=o{pd+16`NUx)^r#edq87Qmdd|!1fLdn$WrQ33o_m%V0Y7#sB~S32;bR za{vGjVE_ORVF9Q=r)dBH4v|SjK~#8N?VEXQT*rOKzccgZy*;_)lC((5j3nBUWlQlP zsX}F`st(JBlb|WuIxUbmNLnLBYS%3c6uuNlYMeT9oeK@z#7^P>ftx0Q<05f<$Z{21 zb!{h-CF_=Tkkmm*yq4Vi9rLD`S&=5W2ba{6|I{B~0TTQ8-u%Av`~BuOzj*{c;v@cF zLuS+ZL%X&{LL#_I60t_O&g}qAGj9HpdG0Io@AyjRY>s7w85Q8nj_qxpA=gOXTj#m% zCeQOaJlCO~>p)7W$3PhaH!W~(_Hb_f8ic$U7JOIB9siV>4MA!qK;rc7V7mYKtzN2c zp%7xD=Q(RV*S$&^>v?X~wiw)0f(Xvd_qf5Imz2KJvEiZjtG>Y$nYI8udwvj;lK(j& z#+{z;uks~r;hZtg$s?a0fSpOe$)|wJGd&$Br7%nj!B9gg5Nkd}DSOS6^4WPSzt}aM z`<0?<0gmr_vdI+A8Xsh>=i0aXLM)~{#8@B-GZ=#ef#ZsTTNA+K2Bh!7&I}=+8HAG^ zhLnC)8 zR)AAG|78&fRzt`QuIH>1o_n?HIuM>a8o#57git-$KsXL7+yD>?`?4770hVb1(ubWL z)}CQ!6Yz!i;ZO;IX+>a$>$TyA8G`RiZM23ESe)Thq8l$BeFN`zpGIOh2gfZ4N(cex z$g_|5ne@pTPk5Vz=dSWRr%uJM@Wu?Z3e;ef zM_5XXNCPM}U^^ZPDG#u?0YW5PI}2a9P~veb3__XqAm1+-rQF}-48pTD&afsh$0YCo)L#(2B9aFG7!RGno0};Av`Fti4-6ZaB?Zw*&#TY z1a_R?kDu;4402Tt!6hls$Ry*FfZG#9?r;Rnfv9}=k3X@0LA32TpZTv|yZ+Hb6UVCs zIJslnMbF92A=HEr0=Avku70I3!_qOVTw8esVqTIP_Yd+pV3J) zpGn}^qpxGv@h$|HC&B0DiiUIl(r?3L0sOxAHN0`*`SITig6y7p7=vLvuzD?)HqHm< zR)!LK{k3;&K09);p?{Em4sI3_Sun~F3Wfk0hU++540+itCquh)FskEN8P0f6=L?k& zY!$C=9^9Z{!iMXqT0rQ8r^3W>d@VjeU`FTQwM$2^>v%W9YX-sMr6=Q#_Rk~0!bm$q z#R4#i(8>gI2L!(J?ruD`#zKsm;fCh+1^^QT0LhLRCw&1pDg7&_Cd_aYDk^Q;hU?f$ zt#LXq9?-@rqj|7Si{J?#uKGBhcCmnIXk*n%kQo}%?ycf~bQa8DA%R9zn1pbApbJ0T z`6`0ThsqjX6$A+0m_+7n15fVxZ#=g0PWVD5#{RAL076K~s!RF~q~qvW3Ge^{ftXHG zo)4Iz_~ls+=%rq{vz}%6;EZacg`3yLCi*Ma1fG*a+BuJO;=C60sl6|Owq?QR=Bu)^ zavlOg%ZG4o2gm;=y0NZhPO$(0Nmss$g!FQNm(xkBE`ANnx)umeAa5&yE-!VEaB@jx zlZ9DU0!)>I1D!Z|z8}%s3tm_Yh~>jtn86FjkK(?+dug1lRHp!f>Ypa1_6!IYj7o$< zL0E>5>|i(gy52*g=NPiX7pG;s;>`;u!CM^A;I!(RvREBi^d<6Gv87?@*o(9Pgs_Th zGg{nChU*I?(=MWog|MnMMxz7olJ)Uo0SK9r08aXn zE^UoqgI>l|%|D8i5KbYdGQzZ1NJ0xsYA&a;$#}bT8Ovdr0d%E%^|v%ws0JUn@hRNW zw7$GsvylGo&X0W&t6M)^_PTEz_%inQ{}v?RLwfY8A^{|5Mh&Feotv=J$k}NSdImfg zA2oO)YUz`<(w2Z599Ap_;j1Mz2dWJ>;rkx4$pNJL&!Q*O2SO#FJ^&i6R`*_j08`c9^AvdeVsAU(COaG;(O3Ph0{yoBM* z(726NgIZF30_hPDLt_8no5*;>W$(YP?Jh84;7s}$P7LoWdtG1doc>PO6okofo1{V= z0AzGrSGiri5_I7!Rc=TX?J65sP7cbP zqxTI>b#N{OrgPhh_-O-v(vWfveWpkN36@b6-s~aECfs%LcKH1!#E_~bYKMIyjJmkd zweP|Ho+1H!GP@p7sZH3z!?>|MhWx?0l3_9({Gg~=+W$K<^UD{C34^>b%u$1ZnzHai74#O zLa{R))N-1Aw*k#o2=^|&6;fc_PEetjK@OSmXEO(A>nlkBEDpwT_mTy8?rq;0}RS>I(e{2AC>gf%r_e${NtjVz!`@dB&7v#RSuX<0SG`;9-L%aS4LaW zbaMz#A32KD1q*>CX_%@tb~#_~IQNsHJIFjm{(}gd&LEbw)!|F?mcjr9rOaQv=E0&} zul9g5MlN%;JDaP3-hxlA0DulNhR1GRi5L4$WB0*6B=<*Qv^ro7E@(ig$_~<|x_ELg zSrCI9EpZEX-LwFULye;X5z0opUSk=x`ozndJ&{jd-sjFNgon|0{$x=lI2l4p?9cXM zZ=w%<={&NIfa^&FEQ+XUpd%K=t?^d08pX*o-qO*t7-jtx1&~D5 z0<(h}c2Q%b0_U70es<<0PWNTO=QuDH+6Xr|y1}8g&Av_b(O7S^5z)04qW*K-b(T!gpKM&fLLv&LLG*sLy)eY330Bdw$U7v#2 z6TlmX9lYN=i2JTviWV!PUc@NbxERd=x+gGe6ntPZ{^Psv<&-gI}mL%cUXYuWKUb$DdJ|-|`8KhI{ z49_G#KYI#BdltM!l_pn+Iv-p%jBLhhyZQcxFP9a75K_MTIEx(14&cl{7S`h0MI<$S zSc@|7bLPW(?>C0AA&{y`by5u#^55=(3;GR^S|5$^`B}iGb8q-U^bf~2!uH*(FG6lFQ_w{k*`Mu@F@Ka55_L2H?n4&G9I8x+H_99h|kQ? z7>lcO33e@j(W9(UYZq>K=xdKeJUy|Mk;5zxFKU!6$t?^;zL$D>!Uz$qGkz zeMUMzbv%xyK-(2R#H58bJ2iZ@3mv!PE$Qzaw>^3Zz};Q1f9+e;3_TA*%%4UeXn0k7AZk^8Ir z5>xCRd-JLUP_*CrK(1rsBU=MjZ~>1rKTr7;G> z*17BP`MxKG+WaXViml_JrVj`!9mkb=L1rL~#X>PMRXCaZgq=|@B8?M(TOmXnTlz!chOcA>>>ph& z$H%h;^p<3Nix}qj!zcBI>I}zSP)mStsVh7`%k(-gh7C!>;vlPY@7=pSG46Gkl6h + + + + dnfdrake + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dnfdrake + + + ruru + + + + + +