diff options
author | Papoteur <papoteur@mageia.org> | 2019-01-01 15:07:13 +0100 |
---|---|---|
committer | Papoteur <papoteur@mageia.org> | 2019-01-01 15:07:13 +0100 |
commit | 09851e0e61bd6681170b803e9bac665d6a765b66 (patch) | |
tree | bd12be4c1dc5f7e92ffd1a0223092a88605a8c05 /qml | |
parent | 9f29395b06414eddfd9afe45a1e5959fc63155d6 (diff) | |
parent | 415e31257fd17ae59fd6a825ba80613ac4bb500a (diff) | |
download | mageiawelcome-09851e0e61bd6681170b803e9bac665d6a765b66.tar mageiawelcome-09851e0e61bd6681170b803e9bac665d6a765b66.tar.gz mageiawelcome-09851e0e61bd6681170b803e9bac665d6a765b66.tar.bz2 mageiawelcome-09851e0e61bd6681170b803e9bac665d6a765b66.tar.xz mageiawelcome-09851e0e61bd6681170b803e9bac665d6a765b66.zip |
Merge branch 'master' into topic/mga6
Diffstat (limited to 'qml')
-rw-r--r-- | qml/AppList.qml | 114 | ||||
-rw-r--r-- | qml/mageiawelcome.py | 31 | ||||
-rw-r--r-- | qml/mw-ui.qml | 50 |
3 files changed, 109 insertions, 86 deletions
diff --git a/qml/AppList.qml b/qml/AppList.qml index 760c6fc..b6e3f3c 100644 --- a/qml/AppList.qml +++ b/qml/AppList.qml @@ -1,61 +1,61 @@ import QtQuick 2.2 import QtQml.Models 2.1 ListModel { - ListElement { group: "audio featured";description: qsTr("Various Audio Codecs"); inst_repo: "tainted";title: "Audio Codecs";name: "task-codec-audio";command: "";repo: "";icon: "img/codecs-audio.png";installable: "True";} -ListElement { group: "audio featured";description: qsTr("Various Audio Codecs"); inst_repo: "tainted";title: "Audio Codecs";name: "task-codec-audio";command: "";repo: "tainted";icon: "img/codecs-audio.png";installable: "False";} -ListElement { group: "video featured";description: qsTr("Various Video Codecs"); inst_repo: "tainted";title: "Video Codecs";name: "task-codec-video";command: "";repo: "";icon: "img/codecs-video.png";installable: "True";} -ListElement { group: "video featured";description: qsTr("Various Video Codecs"); inst_repo: "tainted";title: "Video Codecs";name: "task-codec-video";command: "";repo: "tainted";icon: "img/codecs-video.png";installable: "False";} -ListElement { group: "games";description: qsTr("Steam Client"); inst_repo: "";title: "Steam";name: "steam";command: "steam";repo: "non-free";icon: "img/steam.png";installable: "True";} -ListElement { group: "games";description: qsTr("3D Real Time Strategy"); inst_repo: "";title: "Megaglest";name: "megaglest";command: "megaglest";repo: "";icon: "img/megaglest.png";installable: "True";} -ListElement { group: "games";description: qsTr("Single/Multi-player first person shooter game"); inst_repo: "";title: "Sauerbraten";name: "sauerbraten";command: "sauerbraten";repo: "non-free";icon: "img/sauerbraten.png";installable: "True";} -ListElement { group: "games";description: qsTr("Classic 2d jump 'n run sidescroller with Tux "); inst_repo: "";title: "Supertux";name: "supertux";command: "supertux2";repo: "";icon: "img/supertux.png";installable: "True";} -ListElement { group: "games";description: qsTr("Kart racing game featuring Tux and friends"); inst_repo: "";title: "SuperTuxKart";name: "supertuxkart";command: "supertuxkart";repo: "";icon: "img/supertuxkart.png";installable: "True";} -ListElement { group: "games";description: qsTr("Postnuclear realtime strategy"); inst_repo: "";title: "Warzone 2100";name: "warzone2100";command: "warzone2100";repo: "";icon: "img/warzone2100.png";installable: "True";} -ListElement { group: "games";description: qsTr("Fantasy turn-based strategy game"); inst_repo: "";title: "Battle for Wesnoth";name: "wesnoth";command: "wesnoth";repo: "";icon: "img/wesnoth.png";installable: "True";} -ListElement { group: "games";description: qsTr("RTS Game of Ancient Warfare"); inst_repo: "";title: "O A.D";name: "0ad";command: "0ad";repo: "";icon: "img/0ad.png";installable: "True";} -ListElement { group: "graphics";description: qsTr("3d modeller/renderer"); inst_repo: "";title: "Blender";name: "blender";command: "blender.nonsse";repo: "";icon: "img/blender.png";installable: "True";} -ListElement { group: "graphics";description: qsTr("Painting program"); inst_repo: "";title: "MyPaint";name: "mypaint";command: "mypaint";repo: "";icon: "img/mypaint.png";installable: "False";} -ListElement { group: "graphics";description: qsTr("The GNU Image Manipulation Program"); inst_repo: "";title: "GIMP";name: "gimp";command: "gimp";repo: "";icon: "img/gimp.png";installable: "False";} -ListElement { group: "graphics";description: qsTr("Vector graphics editor"); inst_repo: "";title: "Inkscape";name: "inkscape";command: "inkscape";repo: "";icon: "img/inkscape.png";installable: "False";} -ListElement { group: "graphics";description: qsTr("Digital photo management application"); inst_repo: "";title: "Digikam";name: "digikam";command: "digikam";repo: "";icon: "img/digikam.png";installable: "False";} -ListElement { group: "graphics";description: qsTr("Virtual lighttable and darkroom for photographers"); inst_repo: "";title: "Darktable";name: "darktable";command: "darktable";repo: "";icon: "img/darktable.png";installable: "True";} -ListElement { group: "internet";description: qsTr("Multi-protocol instant messaging client"); inst_repo: "";title: "Pidgin";name: "pidgin";command: "pidgin";repo: "";icon: "img/pidgin.png";installable: "False";} -ListElement { group: "internet";description: qsTr("Full-featured graphical ftp/ftps/sftp client"); inst_repo: "";title: "Filezilla";name: "filezilla";command: "filezilla";repo: "";icon: "img/filezilla.png";installable: "False";} -ListElement { group: "internet featured";description: qsTr("Next-generation web browser"); inst_repo: "";title: "Firefox";name: "firefox";command: "firefox";repo: "";icon: "img/firefox.png";installable: "False";} -ListElement { group: "internet featured";description: qsTr("Lightweight but feature rich bittorrent client"); inst_repo: "";title: "Qbittorrent";name: "qbittorrent";command: "qbittorrent";repo: "";icon: "img/qbittorrent.png";installable: "True";} -ListElement { group: "internet";description: qsTr("Fast Webbrowser"); inst_repo: "";title: "Chromium";name: "chromium-browser";command: "chromium-browser";repo: "";icon: "img/chromium.png";installable: "False";} -ListElement { group: "internet";description: qsTr("File sharing client compatible with eDonkey"); inst_repo: "";title: "Amule";name: "amule";command: "amule";repo: "";icon: "img/amule.png";installable: "True";} -ListElement { group: "internet";description: qsTr("E-mail, news and RSS client"); inst_repo: "";title: "Thunderbird";name: "thunderbird";command: "thunderbird";repo: "";icon: "img/thunderbird.png";installable: "False";} -ListElement { group: "internet";description: qsTr("Fast e-mail client"); inst_repo: "";title: "Claws Mail";name: "claws-mail";command: "claws-mail";repo: "";icon: "img/claws-mail.png";installable: "True";} -ListElement { group: "video featured";description: qsTr("Media Player"); inst_repo: "";title: "Smplayer";name: "smplayer";command: "smplayer";repo: "";icon: "img/smplayer.png";installable: "True";} -ListElement { group: "video";description: qsTr("A non-linear video editing application"); inst_repo: "";title: "Kdenlive";name: "kdenlive";command: "kdenlive";repo: "";icon: "img/kdenlive.png";installable: "False";} -ListElement { group: "video featured";description: qsTr("Multimedia player and streamer"); inst_repo: "tainted";title: "VLC";name: "vlc";command: "vlc";repo: "";icon: "img/vlc.png";installable: "True";} -ListElement { group: "video featured";description: qsTr("Multimedia player and streamer"); inst_repo: "tainted";title: "VLC";name: "vlc";command: "vlc";repo: "tainted";icon: "img/vlc.png";installable: "False";} -ListElement { group: "video";description: qsTr("Media Center"); inst_repo: "";title: "Kodi";name: "kodi";command: "kodi";repo: "";icon: "img/kodi.png";installable: "True";} -ListElement { group: "audio";description: qsTr("Audio Player similar to Winamp"); inst_repo: "";title: "Qmmp";name: "qmmp";command: "qmmp";repo: "";icon: "img/qmmp.png";installable: "True";} -ListElement { group: "audio";description: qsTr("Modern music player and library organizer"); inst_repo: "";title: "Clementine";name: "clementine";command: "clementine";repo: "";icon: "img/clementine.png";installable: "False";} -ListElement { group: "audio";description: qsTr("An audio file converter, CD ripper and replay gain tool"); inst_repo: "";title: "Soundkonverter";name: "soundkonverter";command: "soundkonverter";repo: "";icon: "img/soundkonverter.png";installable: "True";} -ListElement { group: "programming";description: qsTr("Extensible tool platform and java IDE"); inst_repo: "";title: "Eclipse";name: "eclipse";command: "eclipse";repo: "";icon: "img/eclipse.png";installable: "True";} -ListElement { group: "programming";description: qsTr("Scientific Python Development Environment​ "); inst_repo: "";title: "Spyder";name: "spyder";command: "spyder";repo: "";icon: "img/spyder3.png";installable: "True";} -ListElement { group: "programming";description: qsTr("A C++ IDE"); inst_repo: "";title: "CodeBlocks";name: "codeblocks";command: "codeblocks";repo: "";icon: "img/codeblocks.png";installable: "True";} -ListElement { group: "programming";description: qsTr("Lightweight IDE for Qt"); inst_repo: "";title: "Qt Creator";name: "qt-creator";command: "qtcreator";repo: "";icon: "img/qt-creator.png";installable: "False";} -ListElement { group: "programming";description: qsTr("IDE for C and C++"); inst_repo: "";title: "Anjuta";name: "anjuta";command: "anjuta";repo: "";icon: "img/anjuta.png";installable: "True";} -ListElement { group: "programming";description: qsTr("IDE for free pascal"); inst_repo: "";title: "Lazarus";name: "lazarus";command: "lazarus";repo: "";icon: "img/lazarus.png";installable: "True";} -ListElement { group: "system";description: qsTr("Sophisticated cd/dvd burning application"); inst_repo: "";title: "K3b";name: "k3b";command: "k3b";repo: "";icon: "img/k3b.png";installable: "False";} -ListElement { group: "system";description: qsTr("Partition editor"); inst_repo: "";title: "GParted";name: "gparted";command: "gparted";repo: "";icon: "img/gparted.png";installable: "False";} -ListElement { group: "system";description: qsTr("Exfat formatted device management"); inst_repo: "tainted";title: "fuse-exfat";name: "fuse-exfat";command: "";repo: "tainted";icon: "img/fuse-exfat.png";installable: "False";} -ListElement { group: "system featured";description: qsTr("Extra community-made background images"); inst_repo: "";title: "mageia-theme-extra";name: "mageia-theme-extra";command: "";repo: "";icon: "img/mageia-theme-extra.png";installable: "True";} -ListElement { group: "system";description: qsTr("k9copy helps making backups of your video DVDs "); inst_repo: "";title: "K9copy";name: "k9copy";command: "k9copy";repo: "";icon: "img/k9copy.png";installable: "True";} -ListElement { group: "system";description: qsTr("Clean junk to free disk space and maintain privacy "); inst_repo: "";title: "BleachBit";name: "bleachbit";command: "bleachbit";repo: "";icon: "img/bleachbit.png";installable: "True";} -ListElement { group: "system";description: qsTr("A printer administration tool"); inst_repo: "";title: "System Config Printer";name: "system-config-printer";command: "system-config-printer";repo: "";icon: "img/system-config-printer.png";installable: "False";} -ListElement { group: "system";description: qsTr("Virtualization software"); inst_repo: "";title: "VirtualBox";name: "virtualbox";command: "VirtualBox";repo: "";icon: "img/virtualbox.png";installable: "False";} -ListElement { group: "office";description: qsTr("LibreOffice Spreadsheet Application"); inst_repo: "";title: "LibreOffice Calc";name: "libreoffice-calc";command: "oocalc";repo: "";icon: "img/libreoffice-calc.png";installable: "False";} -ListElement { group: "office";description: qsTr("LibreOffice Word Processor Application"); inst_repo: "";title: "LibreOffice Writer";name: "libreoffice-writer";command: "oowriter";repo: "";icon: "img/libreoffice-writer.png";installable: "False";} -ListElement { group: "office";description: qsTr("KDE office suite"); inst_repo: "";title: "Calligra";name: "calligra";command: "";repo: "";icon: "img/calligra.png";installable: "True";} -ListElement { group: "office";description: qsTr("Lean and fast, but full-featured word processor"); inst_repo: "";title: "AbiWord";name: "abiword";command: "abiword";repo: "";icon: "img/abiword.png";installable: "True";} -ListElement { group: "offrce";description: qsTr("A full-featured spreadsheet for GNOME"); inst_repo: "";title: "Gnumeric";name: "gnumeric";command: "gnumeric";repo: "";icon: "img/gnumeric.png";installable: "True";} -ListElement { group: "office";description: qsTr("E-book converter and library management"); inst_repo: "";title: "Calibre";name: "calibre";command: "calibre";repo: "";icon: "img/calibre.png";installable: "True";} -ListElement { group: "office";description: qsTr("Desktop Publishing Program"); inst_repo: "";title: "Scribus";name: "scribus";command: "scribus";repo: "";icon: "img/scribus.png";installable: "True";} -ListElement { group: "office";description: qsTr("Free easy personal accounting for all"); inst_repo: "";title: "HomeBank";name: "homebank";command: "homebank";repo: "";icon: "img/homebank.png";installable: "True";} -ListElement { group: "office";description: qsTr("Personal Finance Management Tool"); inst_repo: "";title: "Skrooge";name: "skrooge";command: "skrooge";repo: "";icon: "img/skrooge.png";installable: "True";} + ListElement { group: "audio featured";description: qsTr("Various Audio Codecs"); title: "Audio Codecs";name: "task-codec-audio";command: "";repo: "";icon: "img/codecs-audio.png";} +ListElement { group: "audio featured";description: qsTr("Various Audio Codecs"); title: "Audio Codecs";name: "task-codec-audio";command: "";repo: "tainted";icon: "img/codecs-audio.png";} +ListElement { group: "video featured";description: qsTr("Various Video Codecs"); title: "Video Codecs";name: "task-codec-video";command: "";repo: "";icon: "img/codecs-video.png";} +ListElement { group: "video featured";description: qsTr("Various Video Codecs"); title: "Video Codecs";name: "task-codec-video";command: "";repo: "tainted";icon: "img/codecs-video.png";} +ListElement { group: "games";description: qsTr("Steam Client"); title: "Steam";name: "steam";command: "steam";repo: "non-free";icon: "img/steam.png";} +ListElement { group: "games";description: qsTr("3D Real Time Strategy"); title: "Megaglest";name: "megaglest";command: "megaglest";repo: "";icon: "img/megaglest.png";} +ListElement { group: "games";description: qsTr("Single/Multi-player first person shooter game"); title: "Sauerbraten";name: "sauerbraten";command: "sauerbraten";repo: "non-free";icon: "img/sauerbraten.png";} +ListElement { group: "games";description: qsTr("Classic 2d jump 'n run sidescroller with Tux "); title: "Supertux";name: "supertux";command: "supertux2";repo: "";icon: "img/supertux.png";} +ListElement { group: "games";description: qsTr("Kart racing game featuring Tux and friends"); title: "SuperTuxKart";name: "supertuxkart";command: "supertuxkart";repo: "";icon: "img/supertuxkart.png";} +ListElement { group: "games";description: qsTr("Postnuclear realtime strategy"); title: "Warzone 2100";name: "warzone2100";command: "warzone2100";repo: "";icon: "img/warzone2100.png";} +ListElement { group: "games";description: qsTr("Fantasy turn-based strategy game"); title: "Battle for Wesnoth";name: "wesnoth";command: "wesnoth";repo: "";icon: "img/wesnoth.png";} +ListElement { group: "games";description: qsTr("RTS Game of Ancient Warfare"); title: "O A.D";name: "0ad";command: "0ad";repo: "";icon: "img/0ad.png";} +ListElement { group: "graphics";description: qsTr("3d modeller/renderer"); title: "Blender";name: "blender";command: "blender.nonsse";repo: "";icon: "img/blender.png";} +ListElement { group: "graphics";description: qsTr("Painting program"); title: "MyPaint";name: "mypaint";command: "mypaint";repo: "";icon: "img/mypaint.png";} +ListElement { group: "graphics";description: qsTr("The GNU Image Manipulation Program"); title: "GIMP";name: "gimp";command: "gimp";repo: "";icon: "img/gimp.png";} +ListElement { group: "graphics";description: qsTr("Vector graphics editor"); title: "Inkscape";name: "inkscape";command: "inkscape";repo: "";icon: "img/inkscape.png";} +ListElement { group: "graphics";description: qsTr("Digital photo management application"); title: "Digikam";name: "digikam";command: "digikam";repo: "";icon: "img/digikam.png";} +ListElement { group: "graphics";description: qsTr("Virtual lighttable and darkroom for photographers"); title: "Darktable";name: "darktable";command: "darktable";repo: "";icon: "img/darktable.png";} +ListElement { group: "internet";description: qsTr("Multi-protocol instant messaging client"); title: "Pidgin";name: "pidgin";command: "pidgin";repo: "";icon: "img/pidgin.png";} +ListElement { group: "internet";description: qsTr("Full-featured graphical ftp/ftps/sftp client"); title: "Filezilla";name: "filezilla";command: "filezilla";repo: "";icon: "img/filezilla.png";} +ListElement { group: "internet featured";description: qsTr("Next-generation web browser"); title: "Firefox";name: "firefox";command: "firefox";repo: "";icon: "img/firefox.png";} +ListElement { group: "internet featured";description: qsTr("Lightweight but feature rich bittorrent client"); title: "Qbittorrent";name: "qbittorrent";command: "qbittorrent";repo: "";icon: "img/qbittorrent.png";} +ListElement { group: "internet";description: qsTr("Fast Webbrowser"); title: "Chromium";name: "chromium-browser";command: "chromium-browser";repo: "";icon: "img/chromium.png";} +ListElement { group: "internet";description: qsTr("File sharing client compatible with eDonkey"); title: "Amule";name: "amule";command: "amule";repo: "";icon: "img/amule.png";} +ListElement { group: "internet";description: qsTr("E-mail, news and RSS client"); title: "Thunderbird";name: "thunderbird";command: "thunderbird";repo: "";icon: "img/thunderbird.png";} +ListElement { group: "internet";description: qsTr("Fast e-mail client"); title: "Claws Mail";name: "claws-mail";command: "claws-mail";repo: "";icon: "img/claws-mail.png";} +ListElement { group: "video featured";description: qsTr("Media Player"); title: "Smplayer";name: "smplayer";command: "smplayer";repo: "";icon: "img/smplayer.png";} +ListElement { group: "video";description: qsTr("A non-linear video editing application"); title: "Kdenlive";name: "kdenlive";command: "kdenlive";repo: "";icon: "img/kdenlive.png";} +ListElement { group: "video featured";description: qsTr("Multimedia player and streamer"); title: "VLC";name: "vlc";command: "vlc";repo: "";icon: "img/vlc.png";} +ListElement { group: "video featured";description: qsTr("Multimedia player and streamer"); title: "VLC";name: "vlc";command: "vlc";repo: "tainted";icon: "img/vlc.png";} +ListElement { group: "video";description: qsTr("Media Center"); title: "Kodi";name: "kodi";command: "kodi";repo: "";icon: "img/kodi.png";} +ListElement { group: "audio";description: qsTr("Audio Player similar to Winamp"); title: "Qmmp";name: "qmmp";command: "qmmp";repo: "";icon: "img/qmmp.png";} +ListElement { group: "audio";description: qsTr("Modern music player and library organizer"); title: "Clementine";name: "clementine";command: "clementine";repo: "";icon: "img/clementine.png";} +ListElement { group: "audio";description: qsTr("An audio file converter, CD ripper and replay gain tool"); title: "Soundkonverter";name: "soundkonverter";command: "soundkonverter";repo: "";icon: "img/soundkonverter.png";} +ListElement { group: "programming";description: qsTr("Extensible tool platform and java IDE"); title: "Eclipse";name: "eclipse";command: "eclipse";repo: "";icon: "img/eclipse.png";} +ListElement { group: "programming";description: qsTr("Scientific Python Development Environment​ "); title: "Spyder";name: "spyder";command: "spyder";repo: "";icon: "img/spyder3.png";} +ListElement { group: "programming";description: qsTr("A C++ IDE"); title: "CodeBlocks";name: "codeblocks";command: "codeblocks";repo: "";icon: "img/codeblocks.png";} +ListElement { group: "programming";description: qsTr("Lightweight IDE for Qt"); title: "Qt Creator";name: "qt-creator";command: "qtcreator";repo: "";icon: "img/qt-creator.png";} +ListElement { group: "programming";description: qsTr("IDE for C and C++"); title: "Anjuta";name: "anjuta";command: "anjuta";repo: "";icon: "img/anjuta.png";} +ListElement { group: "programming";description: qsTr("IDE for free pascal"); title: "Lazarus";name: "lazarus";command: "lazarus";repo: "";icon: "img/lazarus.png";} +ListElement { group: "system";description: qsTr("Sophisticated cd/dvd burning application"); title: "K3b";name: "k3b";command: "k3b";repo: "";icon: "img/k3b.png";} +ListElement { group: "system";description: qsTr("Partition editor"); title: "GParted";name: "gparted";command: "gparted";repo: "";icon: "img/gparted.png";} +ListElement { group: "system";description: qsTr("Exfat formatted device management"); title: "fuse-exfat";name: "fuse-exfat";command: "";repo: "tainted";icon: "img/fuse-exfat.png";} +ListElement { group: "system featured";description: qsTr("Extra community-made background images"); title: "mageia-theme-extra";name: "mageia-theme-extra";command: "";repo: "";icon: "img/mageia-theme-extra.png";} +ListElement { group: "system";description: qsTr("k9copy helps making backups of your video DVDs "); title: "K9copy";name: "k9copy";command: "k9copy";repo: "";icon: "img/k9copy.png";} +ListElement { group: "system";description: qsTr("Clean junk to free disk space and maintain privacy "); title: "BleachBit";name: "bleachbit";command: "bleachbit";repo: "";icon: "img/bleachbit.png";} +ListElement { group: "system";description: qsTr("A printer administration tool"); title: "System Config Printer";name: "system-config-printer";command: "system-config-printer";repo: "";icon: "img/system-config-printer.png";} +ListElement { group: "system";description: qsTr("Virtualization software"); title: "VirtualBox";name: "virtualbox";command: "VirtualBox";repo: "";icon: "img/virtualbox.png";} +ListElement { group: "office";description: qsTr("LibreOffice Spreadsheet Application"); title: "LibreOffice Calc";name: "libreoffice-calc";command: "oocalc";repo: "";icon: "img/libreoffice-calc.png";} +ListElement { group: "office";description: qsTr("LibreOffice Word Processor Application"); title: "LibreOffice Writer";name: "libreoffice-writer";command: "oowriter";repo: "";icon: "img/libreoffice-writer.png";} +ListElement { group: "office";description: qsTr("KDE office suite"); title: "Calligra";name: "calligra";command: "";repo: "";icon: "img/calligra.png";} +ListElement { group: "office";description: qsTr("Lean and fast, but full-featured word processor"); title: "AbiWord";name: "abiword";command: "abiword";repo: "";icon: "img/abiword.png";} +ListElement { group: "offrce";description: qsTr("A full-featured spreadsheet for GNOME"); title: "Gnumeric";name: "gnumeric";command: "gnumeric";repo: "";icon: "img/gnumeric.png";} +ListElement { group: "office";description: qsTr("E-book converter and library management"); title: "Calibre";name: "calibre";command: "calibre";repo: "";icon: "img/calibre.png";} +ListElement { group: "office";description: qsTr("Desktop Publishing Program"); title: "Scribus";name: "scribus";command: "scribus";repo: "";icon: "img/scribus.png";} +ListElement { group: "office";description: qsTr("Free easy personal accounting for all"); title: "HomeBank";name: "homebank";command: "homebank";repo: "";icon: "img/homebank.png";} +ListElement { group: "office";description: qsTr("Personal Finance Management Tool"); title: "Skrooge";name: "skrooge";command: "skrooge";repo: "";icon: "img/skrooge.png";} } diff --git a/qml/mageiawelcome.py b/qml/mageiawelcome.py index 48e8eb4..b5e13da 100644 --- a/qml/mageiawelcome.py +++ b/qml/mageiawelcome.py @@ -3,7 +3,7 @@ from PyQt5.QtGui import QGuiApplication, QIcon from PyQt5.QtQuick import QQuickView from PyQt5.QtCore import QUrl, QLocale, QTranslator, QLibraryInfo, QVariant, QAbstractListModel, \ - QModelIndex, Qt, QObject, pyqtSlot + QModelIndex, Qt, QObject, pyqtSlot, pyqtSignal, QCoreApplication from PyQt5.QtNetwork import QNetworkConfigurationManager, QNetworkConfiguration import sys import os @@ -13,6 +13,8 @@ import pwd # Workaround for opengl lib selection from OpenGL import GL +translate = QCoreApplication.translate + class ConfList(QAbstractListModel): NameRole = Qt.UserRole + 1 def __init__(self, parent=None): @@ -55,16 +57,16 @@ class ConfList(QAbstractListModel): netconfs += ", " + conf.name() self.configuration = [ - {'name': self.tr("<b>Congratulations!</b><BR />You have completed the installation of {}").format(release)}, - {'name': self.tr("You are using linux kernel: {}").format(kernel)}, - {'name': self.tr("Your system architecture is: {}").format(arch)}, - {'name': self.tr("You are now using the Desktop: {}").format(desktop)}, - {'name': self.tr("Your user id is: {}").format(os.getuid())}, + {'name': translate('ConfList',"<b>Congratulations!</b><BR />You have completed the installation of {}").format(release)}, + {'name': translate('ConfList',"You are using linux kernel: {}").format(kernel)}, + {'name': translate('ConfList',"Your system architecture is: {}").format(arch)}, + {'name': translate('ConfList',"You are now using the Desktop: {}").format(desktop)}, + {'name': translate('ConfList',"Your user id is: {}").format(os.getuid())}, ] if net.isOnline(): - self.configuration.append({'name': self.tr("You are connected to a network through {}").format(netconfs)}) + self.configuration.append({'name': translate('ConfList',"You are connected to a network through {}").format(netconfs)}) else: - self.configuration.append({'name': self.tr("You have no network connection")}) + self.configuration.append({'name': translate('ConfList',"You have no network connection")}) def data(self, index, role=Qt.DisplayRole): @@ -88,6 +90,7 @@ class Callbrowser(QObject): subprocess.Popen(["xdg-open", link]) class Launcher(QObject): + installed = pyqtSignal() def __init__(self): QObject.__init__(self) @@ -97,7 +100,13 @@ class Launcher(QObject): cmd = [] for i in range(0,app.property("length").toInt()): cmd.append(app.property(i).toString()) - subprocess.Popen(cmd) + proc = subprocess.Popen(cmd) + if cmd[0] == "gurpmi": + proc.wait() + print(proc.returncode) + if (proc.returncode == 0): + # Give the signal to reload the applist + self.installed.emit() class Norun(QObject): def __init__(self): @@ -147,7 +156,7 @@ if __name__ == '__main__': app.installTranslator(appTranslator) view = QQuickView() view.setResizeMode(QQuickView.SizeRootObjectToView) - view.setTitle(app.tr("Welcome to Mageia")) + view.setTitle(app.translate('app',"Welcome to Mageia")) app.setWindowIcon(QIcon("icons/32x32/apps/mageiawelcome.png")) cb = Callbrowser() la = Launcher() @@ -160,7 +169,7 @@ if __name__ == '__main__': view.rootContext().setContextProperty('launch', la) view.rootContext().setContextProperty('user', us) view.rootContext().setContextProperty('ConfList', cl) - view.rootContext().setContextProperty('installable', ins) + view.rootContext().setContextProperty('pyinstallable', ins) view.rootContext().setContextProperty('startupcheck', sc) view.rootContext().setContextProperty('norun', nr) current_path = os.path.abspath(os.path.dirname(__file__)) diff --git a/qml/mw-ui.qml b/qml/mw-ui.qml index d20819d..334c06d 100644 --- a/qml/mw-ui.qml +++ b/qml/mw-ui.qml @@ -468,6 +468,20 @@ Rectangle { } } // Applications page + function update_list(group) { + appListDM.items.remove(0,appListDM.count ); + var rowCount = appList.count; + for( var i = 0;i < rowCount;i++ ) + { + var entry = appList.get(i); + var pattern = new RegExp(group, "g"); + if(pattern.test(entry.group) ) { + appListDM.items.insert(entry, "group"); + } + } + appListDM.filterOnGroup = "items"; + } + Rectangle { property var title: qsTr("Applications") width: view.width; height: view.height @@ -526,6 +540,7 @@ Rectangle { {'name':qsTr("Programming"),'group': "programming"}] height: (Qt.application.font.pixelSize + 16) * 9 delegate: Rectangle{ + property variant myGroup: modelData.group width: parent.width height: Qt.application.font.pixelSize + 16 color:"#20FFFFFF" @@ -540,19 +555,9 @@ Rectangle { width: parent.width height: 25 onClicked: { - categoriesList.currentIndex = index - appListDM.items.remove(0,appListDM.count ); - var rowCount = appList.count; - for( var i = 0;i < rowCount;i++ ) - { - var entry = appList.get(i); - entry.installable = installable.installable(entry.name, entry.inst_repo) - var pattern = new RegExp(modelData.group, "g"); - if(pattern.test(entry.group) ) { - appListDM.items.insert(entry, "group"); - } - } - appListDM.filterOnGroup = "items";} + categoriesList.currentIndex = index; + itemModel.update_list(modelData.group); + } } } } @@ -561,7 +566,7 @@ Rectangle { Rectangle { // Software list height: box.height - 222 - x: 200 + x: 210 DelegateModel { id: appListDM @@ -580,7 +585,6 @@ Rectangle { { var entry = appList.get(i); var pattern = /featured/g; - entry.installable = installable.installable(entry.name, entry.inst_repo) if(pattern.test(entry.group) ) { items.insert(entry, "group"); } @@ -605,7 +609,7 @@ Rectangle { text: description font.italic: true font.pixelSize: Qt.application.font.pixelSize * .9 - width: view.width - (200 + 32 +30 + Qt.application.font.pixelSize * 4 * 2) + width: view.width - (200 + 44 +38 + Qt.application.font.pixelSize * 4 * 2) wrapMode: Text.WordWrap color: "white" } @@ -628,6 +632,7 @@ Rectangle { } } } + } Component { id: launcher; Button { @@ -647,12 +652,14 @@ Rectangle { } } Component { id: dummy;Label {text: qsTr("Installed") + padding: 2 + horizontalAlignment: TextInput.AlignHCenter font.pixelSize: Qt.application.font.pixelSize * .8 width: Qt.application.font.pixelSize * 4 color: "white" } } - sourceComponent: (installable === "True") ? button : (command === "" ? dummy : launcher) + sourceComponent: ( pyinstallable.installable(name, repo)) ? button : (command === "" ? dummy : launcher) } Loader { @@ -661,7 +668,7 @@ Rectangle { Rectangle { color: "#FF4C4C" radius: 3 - width: Qt.application.font.pixelSize * 3; height: Qt.application.font.pixelSize * 1.3 + width: Qt.application.font.pixelSize * 3.2; height: Qt.application.font.pixelSize * 1.3 Label { anchors.centerIn: parent text: repo @@ -841,4 +848,11 @@ Rectangle { onClicked: norun.setRunAtLaunch(checked) } } + Connections { + target: launch + onInstalled: { + // get the signal to reload the applist + itemModel.update_list(categoriesList.currentItem.myGroup) + } + } } |