summaryrefslogtreecommitdiffstats
path: root/qml
diff options
context:
space:
mode:
authorPapoteur <papoteur@mageia.org>2019-01-01 15:07:13 +0100
committerPapoteur <papoteur@mageia.org>2019-01-01 15:07:13 +0100
commit09851e0e61bd6681170b803e9bac665d6a765b66 (patch)
treebd12be4c1dc5f7e92ffd1a0223092a88605a8c05 /qml
parent9f29395b06414eddfd9afe45a1e5959fc63155d6 (diff)
parent415e31257fd17ae59fd6a825ba80613ac4bb500a (diff)
downloadmageiawelcome-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.qml114
-rw-r--r--qml/mageiawelcome.py31
-rw-r--r--qml/mw-ui.qml50
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)
+ }
+ }
}