286 Commits

Author SHA1 Message Date
Alexandre Arnt
c19d9fa182 - Updated Portuguese (Portugal) translation;
- Tagged version number 0.3.2.
2014-02-14 22:58:58 -02:00
Alexandre Arnt
29d4bd7cd8 - Updated czech translation. 2014-02-03 21:05:28 -02:00
Alexandre Arnt
a2f52ba688 - Updated CHANGELOG. 2014-02-02 15:26:44 -02:00
Alexandre Arnt
39bd74c201 - BugFix: Navigating in the package list using [A..Z] keys did not work
as expected.
2014-02-02 15:25:17 -02:00
Alexandre Arnt
acea7c3f07 - BugFix in finish translation (thanks to SamiPerkele). 2014-02-01 09:27:46 -02:00
Alexandre Arnt
4a78bc9acc - BugFix: When the package list is filtered and you click in a package
which is in the outdated package list, you are redirected to a blank
information tab.
2014-01-30 09:23:16 -02:00
Alexandre Arnt
edbfa15f91 - Deleted misplaced header file. 2014-01-29 21:47:18 -02:00
Alexandre Arnt
1fdef5eb0f - Small code refactor;
- BugFix: when mirror checking, disable sysupgrade button.
2014-01-28 23:19:03 -02:00
Alexandre Arnt
cc8aee4fb4 - BugFix: Enable system upgrade button right after a sync db finds new
updates;
- Removed 3 KAOS defines.
2014-01-28 22:36:56 -02:00
Alexandre Arnt
a29934e8c1 - Put the mirror-check button at the far right. 2014-01-27 22:49:31 -02:00
Alexandre Arnt
b780cb234b - Code cleanings;
- Added icon for mirror-check while in KaOS;
- Does a mirror-check at startup while in KaOS.
2014-01-26 20:55:48 -02:00
Alexandre Arnt
7cdee5a619 - Hidden feature: ctrl+shift+D to show the list of packages with no
description.
2014-01-26 18:10:00 -02:00
Alexandre Arnt
515688be68 sysupgrade icon in notifier 2014-01-26 16:57:46 -02:00
Alexandre Arnt
928fafe636 Cleaned unused code;
Added icon for system upgrade;
Added system upgrade button in octopi's toolbar;
BugFix: When the groups button is pressed and the lower pane is
maximized, the former is hidden by the later;
BugFix: When the user had no yaourt in the system, there were a zombie
octopi process 'left running'.
2014-01-26 16:52:51 -02:00
Alexandre Arnt
54212085d9 Cleaned unused code;
Added icon for system upgrade;
Added system upgrade button in octopi's toolbar;
BugFix: When the groups button is pressed and the lower pane is
maximized, the former is hidden by the later;
BugFix: When the user had no yaourt in the system, there were a zombie
octopi process 'left running'.
2014-01-26 16:06:16 -02:00
Alexandre Arnt
ca49540cb2 - A small comment added... 2014-01-14 16:33:56 -02:00
Alexandre Arnt
90e3796c9a - Updated turkish translation;
- Updated CHANGELOG file;
- Bumped version number to 0.3.1.
2014-01-14 13:55:26 -02:00
Alexandre Arnt
02165991fe - Calls doRemovePacmanLockFile before all major transactions. 2014-01-18 11:39:14 -02:00
Alexandre Arnt
378b563dad - Let's deal with packages with "pkg.tar*" pattern. 2014-01-14 22:33:09 -02:00
Alexandre Arnt
11d37767c5 - BugFix: When changing groups too fast the program might crash. 2014-01-14 22:21:11 -02:00
Alexandre Arnt
9af37e9401 - Made octopi notifier faster, striping some code. 2014-01-06 23:46:44 -02:00
Alexandre Arnt
891915ec82 - BugFix in transparent octopi icon;
- BugFix: refresh the GUI while in refreshAppIcon code;
- Switched from pacman -Syy to -Sy in pacmanhelper code.
2014-01-06 22:31:38 -02:00
Alexandre Arnt
ce61acacc1 - Code cleanings. 2014-01-05 23:38:59 -02:00
Alexandre Arnt
a0bfee3f9e - BugFix: In the local package installation, it's better to stick with
the *.pkg.tar* pattern.
2014-01-05 23:25:59 -02:00
Alexandre Arnt
3658709051 - Added new transparent octopi icon (to use when the notifier is
checking for changes...);
- Some code cleanings and little refactorings;
2014-01-05 20:20:04 -02:00
Alexandre Arnt
e0c10b0fe5 - Made octopi-notifier compatible with Qt5. 2014-01-04 00:17:47 -02:00
Alexandre Arnt
798f587c4f - BugFix: Prevent header resizing in File and Transaction tabs;
- Added support for Qt5.
2014-01-03 23:55:57 -02:00
Alexandre Arnt
8ad766b8a6 - BugFix in code typos. 2014-01-02 23:05:02 -02:00
Alexandre Arnt
bcedb72249 Merge branch 'master' of https://github.com/aarnt/octopi
Conflicts:
	src/mainwindow_transaction.cpp
2014-01-02 22:59:19 -02:00
Alexandre Arnt
0238c0234e - After doing an install or remove while in a package group, always
return to all packages.
2014-01-02 22:57:20 -02:00
Alexandre Arnt
1f983e495c - After doing an install or remove while in a package group, always
return to all packages.
2014-01-02 22:19:10 -02:00
Alexandre Arnt
9124d2f1e2 - Added pkgfile support in KaOS too. 2013-12-28 22:45:24 -02:00
Alexandre Arnt
ef70d2aa24 - BugFix: Use new KDE4 tools to deal with files. 2013-12-28 23:23:40 -02:00
MAJO
4ed73e110b - Bugfixes in KaOS support;
- BugFix in install local package code.
2013-12-28 21:42:49 -02:00
Alexandre Arnt
fe479d09fb - Added slovak translation;
- Refactorings in package group methods;
- Some bugfixes in Kaos support.
2013-12-28 20:37:19 -02:00
Philip
b7ea5564cb Bugfix
- fix issue reported here: http://forum.manjaro.org/index.php?topic=9527.0
2013-12-26 17:13:16 +01:00
Alexandre Arnt
2cc5ef39f8 - BugFix in refreshGroupsWidget code. 2013-12-22 16:02:17 -02:00
Alexandre Arnt
e6441f7bf8 - Removed separator before the Group toolbutton. 2013-12-22 15:12:15 -02:00
Alexandre Arnt
c4e0c492f1 - Added new Groups toolbutton. 2013-12-22 13:48:55 -02:00
Alexandre Arnt
c3c5aafac6 - BugFix: We have to refresh package groups after transactions are
finished.
2013-12-22 11:58:44 -02:00
Alexandre Arnt
6524ea60ad - Package groups selection changed to a QTreeWidget. 2013-12-22 00:36:01 -02:00
Alexandre Arnt
628660c086 - Updated turkish translation. 2013-12-16 21:14:37 -02:00
Alexandre Arnt
6ba7859027 - BugFix in notifier: When the user cancel the update, "system update"
option wasn't enabled.
2013-12-15 11:43:02 -02:00
Alexandre Arnt
bc61ca8672 - Updated turkish translation;
- Added ukrainian translation.
2013-11-30 13:55:31 -02:00
Alexandre Arnt
62b8fda959 - Use just filename in transaction dialog while in local package
installation.
2013-11-24 14:49:19 -02:00
Alexandre Arnt
ee65991e8d - Added support to installation of local packages with GUI feedback; 2013-11-24 12:56:36 -02:00
Arnt
0d6cccf8f0 BugFix: When inserting an optional dependency package or removing a
dep, first searches into transaction queue for them.
2013-11-19 22:43:47 -02:00
Arnt
096068ccc3 - Changed minimun window size to 820 X 520 - thanks to Swâmi Petaramesh! 2013-11-17 09:37:25 -02:00
Arnt
708b60e50e - Added support for KaOS, a lean KDE centric Linux distro;
- Added Chinese (Taiwan) and Malay translations.
2013-11-13 23:05:29 -02:00
Alexandre Arnt
afca94762e Copied octopi icon also to another gnome folder. 2013-11-03 03:24:27 -02:00
Alexandre Arnt
b9be74eaf2 - Fixed a typo in CHANGELOG. 2013-11-02 09:35:38 -02:00
Alexandre Arnt
5a3209dcc7 - Updated translations. 2013-11-01 20:57:22 -02:00
Alexandre Arnt
f3f8041166 - Added more checks in getPackageGroups() code. 2013-10-23 02:08:44 -02:00
Alexandre Arnt
80ee334925 - Added hungarian translation (thanks to lajos - Lajos Pasztor);
- Updated some translations.
2013-10-23 02:00:23 -02:00
Alexandre Arnt
9cbc121992 - Added serbian translation (thanks to Milena Petrović). 2013-10-28 23:42:20 -02:00
Alexandre Arnt
eba451cf3a - Added an About Dialog to Octopi Notifier. 2013-10-28 10:08:17 -02:00
Alexandre Arnt
c585108118 - Code cleaning. 2013-10-27 23:01:48 -02:00
Alexandre Arnt
afb59dc6c2 - Bugfix in notifier code logic. 2013-10-27 22:01:05 -02:00
Alexandre Arnt
fcd73beae4 - Removed "dev" string from About Dialog. 2013-10-20 18:51:37 -02:00
Alexandre Arnt
169515a8c4 - Updated translations. 2013-10-20 18:03:23 -02:00
Alexandre Arnt
1fd0097963 - Added swedish translation (thanks to riiga);
- Updated other translations.
2013-10-22 22:28:08 -02:00
Alexandre Arnt
ba51e3f653 - Added portuguese (Portugal) translation;
- Updated translations.
2013-10-20 05:34:51 -02:00
Alexandre Arnt
ed594216cc - Added new method _rebuildPackageList, to fix a bug in
buildPackagesFromGroupList refresh.
2013-10-20 02:33:09 -02:00
Alexandre Arnt
78b16a0743 - Updated fr and nl translations. 2013-10-20 17:46:58 -02:00
Alexandre Arnt
dc91892634 - Updated pt_BR translation. 2013-10-20 15:52:12 -02:00
Alexandre Arnt
357c1212c1 - Added support to remove Pacman's transaction lock file;
- Added new strings to transalate;
- Couple of code cleanings and fixes.
2013-10-20 15:39:36 -02:00
Alexandre Arnt
1113611f2e - Xterm is now an official Octopi dependency. 2013-10-19 22:47:33 -03:00
Alexandre Arnt
31f7121901 - BugFix: Disable pacman and yaourt status bar buttons while in a
transaction.
2013-10-19 22:42:53 -03:00
Alexandre Arnt
c3d09a7095 - Added new english_GB translation (thanks to jonathon -J Fernyhough). 2013-10-19 20:28:05 -03:00
Alexandre Arnt
97b90cb7cc - Updated Uzbek translation. 2013-10-19 17:58:07 -03:00
Alexandre Arnt
9f4e80edd5 - Bug fixes in multiselectiondialog code. 2013-10-19 17:04:54 -03:00
Alexandre Arnt
2974bf900b - BugFixes in graphical remove code. 2013-10-19 14:59:39 -03:00
Alexandre Arnt
80b2a660cd - BugFixes in install and remove into transaction code. 2013-10-19 14:27:25 -03:00
Alexandre Arnt
01d4323f02 - BugFixes in remove and insert into transaction code. 2013-10-19 11:30:31 -03:00
Alexandre Arnt
957f907387 - Now when removing a package with dependencies, Octopi lets users
choose which one they want to remove.
2013-10-19 00:33:33 -03:00
Alexandre Arnt
e727a17ed9 - Bring back the option to do a graphical system upgrade;
- Updated bulgarian translation.
2013-10-17 21:10:04 -03:00
Alexandre Arnt
380b952606 - Bug fix in optional deps selection code. 2013-10-15 00:10:27 -03:00
Alexandre Arnt
8c9b422b69 - Added a checkbutton to the optional deps dialog. 2013-10-14 23:57:54 -03:00
Alexandre Arnt
bcd269b931 - Updated bulgarian and turkish translations;
- Updated MultiSelectionDialog code.
2013-10-14 00:20:36 -03:00
Alexandre Arnt
f4dd17fd4b Added "Optional Deps" to package menu to install the available
optional dependencies of the selected package.
2013-10-13 23:08:39 -03:00
Alexandre Arnt
c72810d69a - Using "Manjaro" style in all desktops. 2013-10-12 23:00:27 -03:00
Alexandre Arnt
983a5d36a1 - Updated finish translation;
- BugFix: Use "yaourt -S aur/pkgname" to install yaourt packages (thanks
to ringo32).
2013-10-12 22:44:30 -03:00
Alexandre Arnt
72036d1f43 - Updated arabic and indonesian translations 2013-10-05 14:47:10 -03:00
Alexandre Arnt
4b58718da0 - Added support for pkgfile to view uninstalled package file list while
in ArchLinux/ArchBang (thanks to Damián Nohales);
- Updated some translations and files.
2013-10-03 21:55:08 -03:00
Alexandre Arnt
01a0cf6686 Merge pull request #7 from eagleoneraptor/pkgfile
Add pkgfile support for listing noninstalled packages content
2013-10-03 16:44:47 -07:00
Damián Nohales
183681a4d1 Add pkgfile support for listing noninstalled packages content 2013-09-30 16:10:16 -03:00
Alexandre Arnt
d64446fe7d - Code cleanings in mainwindow.cpp code. 2013-09-28 09:54:09 -03:00
Alexandre Arnt
c9d34d5736 - BugFix: do not let outputOutdatedYaourtPackageList go on if we are
executing a transaction;
- Added xterm as optional dependency for octopi.
2013-09-27 22:46:45 -03:00
Alexandre Arnt
69ef11cae2 Merge branch 'master' of https://github.com/aarnt/octopi 2013-09-27 21:59:52 -03:00
Alexandre Arnt
ad5c395e30 - Changed some waitForFinished(-1) to the default 30 seconds version. 2013-09-27 21:59:19 -03:00
Alexandre Arnt
840bafb136 - Updated el and nb translations;
- Updated CHANGELOG file.
2013-09-20 01:11:34 -03:00
Philip
1613eca16b fix icon in octopi.desktop 2013-09-22 10:10:01 +02:00
Alexandre Arnt
4587132a3e Revert "- BugFix in notifier code."
This reverts commit 583a69195b.
2013-09-19 23:09:50 -03:00
Alexandre Arnt
583a69195b - BugFix in notifier code. 2013-09-19 22:58:58 -03:00
Alexandre Arnt
013669d2dc - Test action before setting it. 2013-09-18 23:56:03 -03:00
Alexandre Arnt
64e9346c8f - Now "Get Latest Distro News" doesn't freeze the interface;
- Refactorings in some methods.
2013-09-18 23:17:16 -03:00
Alexandre Arnt
be91726560 - Changed octopi main icon to octopi-green.png in PKGBUILD and
octopi.desktop;
- Added menu "Octopi" and "System Upgrade" in octopi-notifier;
- Bumped version number to 0.3.
2013-09-17 21:47:28 -03:00
Alexandre Arnt
a021e2d7fb - Now octopi-notifier opens only the transaction dialog if Octopi is not
running and user requests a system upgrade.
2013-09-16 23:23:09 -03:00
Alexandre Arnt
dcb42e6c42 - Added new octopi icons to the PKGBUILD;
- When there are pacman updates, start "notify-send" with red octopi
icon.
2013-09-16 21:11:15 -03:00
Alexandre Arnt
0139692edb - Added number of outdated packages text beside the proper icon at
statusbar.
2013-09-15 22:06:34 -03:00
Alexandre Arnt
8671c8f504 - BugFix: minor bugfixes in statusbar notification buttons. 2013-09-01 12:13:39 -03:00
Alexandre Arnt
36d5a5b3db - Updated translations;
- Show Yaourt packages as outdated in default package list;
- Now it's possible to upgrade Yaourt packages even outside Yaourt
group;
- Now the yellow octopi icon means there are outdated yaourt packages;
- Added a new notification for outdated packages on statusbar.
2013-09-15 15:08:10 -03:00
Alexandre Arnt
20a81da5cd - Show Yaourt packages as outdated in default package list;
- Updated CHANGELOG.
2013-09-12 23:22:01 -03:00
Manjaro Linux
7eb6773fbd Merge pull request #5 from anselmolsm/tooltip
Import patch by Anesl Molsm - Notifier: clear tooltip if no update is available
2013-09-11 22:20:26 -07:00
Anselmo L. S. Melo
209799ea95 Notifier: clear tooltip if no update is available 2013-09-11 23:14:21 -03:00
Alexandre Arnt
5a0fc235a0 - Now it's possible to upgrade Yaourt packages even outside Yaourt
group.
2013-09-11 22:41:58 -03:00
Alexandre Arnt
654cd5f7dc Updated CHANGELOG file. 2013-09-10 23:22:46 -03:00
Alexandre Arnt
67f8a689af - BugFix: Octopi was acting as in Openbox while in RazorQt Desktop. 2013-09-10 22:58:10 -03:00
Alexandre Arnt
a365bcf978 - BugFix: Use -Ss option while searching for yaourt packages;
- BugFix: Don't show package names in yaourt package descriptions.
2013-09-09 22:08:59 -03:00
Alexandre Arnt
9efe5e82e7 - Updated CHANGELOG file. 2013-09-08 00:02:36 -03:00
Alexandre Arnt
d1cb7bb7aa - BugFix: No need to refresh package list after a cache clean;
- Code cleanings in StrConstants class.
2013-09-08 00:00:26 -03:00
Alexandre Arnt
7884078f87 - Code cleaning. 2013-09-02 05:50:20 -03:00
Alexandre Arnt
4c78b0d33a - BugFix: Position of search icon in searchedit sometimes was
wrong;
- BugFix: Some actions did not get disabled while executing a
transaction;
- Updated ca, da, he and ro translations;
- Updated CHANGELOG file.
2013-09-02 05:47:16 -03:00
Alexandre Arnt
df2eb70601 Updated sr@latin translation. 2013-09-01 16:00:29 -03:00
Alexandre Arnt
e597daf289 Updated fi and de translations. 2013-09-01 15:04:29 -03:00
Alexandre Arnt
a574c1bf74 - Updated es_ES, fr_FR, it and vi translations;
- Updated CHANGELOG file.
2013-09-01 10:02:18 -03:00
Alexandre Arnt
9105033cad - Bugfixes in notifier systray menu while in system upgrade mode. 2013-08-24 12:51:37 -03:00
Alexandre Arnt
b78fe80e6f - Added new source string;
- Updated pt_BR translation.
2013-08-16 08:03:47 -03:00
Alexandre Arnt
9c8ecdd814 - Updated greek translation;
- Updated CHANGELOG file.
2013-08-16 04:27:07 -03:00
Alexandre Arnt
477e3a0a30 - BugFix: Outdated/Newer package code test. 2013-08-16 03:24:03 -03:00
Alexandre Arnt
6750b2880f - Updated he, vi and fr_FR translations;
- Updated CHANGELOG file.
2013-08-16 02:38:54 -03:00
Alexandre Arnt
0f17151cd1 Merge branch 'master' of https://github.com/aarnt/octopi 2013-08-29 23:07:05 -03:00
Alexandre Arnt
074915b8cb - Updated pt_BR translation;
- Updated runCommandInTerminalAsNormalUser logic for KDE.
2013-08-29 23:06:56 -03:00
Alexandre Arnt
b43a39084c - Updated pt_BR translation;
- Updated runCommandInTerminalAsNormalUser logic for KDE.
2013-08-29 23:04:46 -03:00
Alexandre Arnt
33d50107ac - Added "Required By" and "Optional For" in Info tab. 2013-08-29 22:43:03 -03:00
Alexandre Arnt
56146fa77c - Added icon and logic for newer than repository installed packages;
- Added new source string;
- Updated CHANGELOG;
- Updated pt_BR translation.
2013-08-29 21:54:16 -03:00
Alexandre Arnt
2b8287fa3e - BugFix: konsole was not working with yaourt, changed to xterm;
- Refactorings in style code.
2013-08-28 22:43:58 -03:00
Alexandre Arnt
17f390ed9c - Code cleanings;
- Added spanish (Latin America), thanks to CostGranda (Cost Granda);
- Updated CHANGELOG, PKGBUILD and TRANSLATIONS files.
2013-08-27 22:20:15 -03:00
Alexandre Arnt
2cda92a291 Merge branch 'master' of https://github.com/aarnt/octopi 2013-08-24 14:44:01 -03:00
Alexandre Arnt
2db3fbab65 - Updated CHANGELOG file;
- BugFix: Open root terminal was not testing for gksu/kdesu.
2013-08-24 14:43:26 -03:00
Alexandre Arnt
bb36311dee - Updated CHANGELOG file. 2013-08-24 01:24:08 -03:00
Alexandre Arnt
ec34f2e310 - BugFix: Open root terminal with xterm, code;
- BugFix: Unicode errors on empty pkg descriptions.
2013-08-24 01:04:02 -03:00
Alexandre Arnt
63560a25d4 - Updated CHANGELOG file. 2013-08-23 23:32:05 -03:00
Alexandre Arnt
c36dbd80a4 - Added support for Xterm terminal. 2013-08-23 23:31:05 -03:00
Alexandre Arnt
2083e0ef92 Merge branch 'master' of https://github.com/aarnt/octopi 2013-08-16 02:15:53 -03:00
Alexandre Arnt
a7c2dc19e7 - Code cleanup;
- Updated CHANGELOG file.
2013-08-16 02:15:36 -03:00
Alexandre Arnt
0a46f47d53 - Code cleanup. 2013-08-16 02:03:00 -03:00
Alexandre Arnt
8b81a019b2 - Updated CHANGELOG and TRANSLATIONS files;
- Added Vietnamese translation, thanks to ppanhh (Anh Phan);
- BugFix: Now Octopi honors "ignorePkg" option (from /etc/pacman.conf).
2013-08-16 01:59:50 -03:00
Alexandre Arnt
f96c77b4dd - Updated CHANGELOG file. 2013-08-22 21:57:23 -03:00
Alexandre Arnt
fceed3f9e6 - BugFix: english translation source string;
- Updated ALL translations;
- Added finnish translation;
- Updated TRANSLATIONS file;
- Updated THANKS file;
- Commemted some printouts.
2013-08-21 22:33:29 -03:00
Alexandre Arnt
d12cc4c83e - Another try... 2013-08-21 19:57:07 -03:00
Alexandre Arnt
d846f0cb25 Another test for Yaourt mode. 2013-08-21 19:12:36 -03:00
Alexandre Arnt
f0291a164c - Another try to fix Yaourt mode. 2013-08-20 23:35:55 -03:00
Alexandre Arnt
78e5eb7d1d - Another try to fix the Yaourt mode.
- Updated THANKS file.
2013-08-20 23:16:05 -03:00
Alexandre Arnt
b7d31f060d - A test... 2013-08-20 19:55:18 -03:00
Alexandre Arnt
26a69191a0 Merge branch 'master' of https://github.com/aarnt/octopi 2013-08-20 19:08:16 -03:00
Alexandre Arnt
c67efd002c - BugFix: Start timer only when process has started
(processwrapper.cpp).
2013-08-20 19:07:40 -03:00
Alexandre Arnt
58251a3bd5 - BugFix: Running Yaourt as root user was not good;
- Refactorings needed for the bugfix above.
2013-08-19 21:53:48 -03:00
Alexandre Arnt
6d063e6f7f - Refactorings and bugfixes in Yaourt code. 2013-08-18 22:01:58 -03:00
Alexandre Arnt
3aaf4a9970 - BugFix in Cinnamon support (thanks to dsngjoe);
- Updated THANKS file.
2013-08-18 16:49:19 -03:00
Alexandre Arnt
fedf3b3209 - Added another contributor :-) 2013-08-18 12:28:06 -03:00
Alexandre Arnt
b0753af034 - Updated a bunch of related files. 2013-08-18 02:10:49 -03:00
Alexandre Arnt
ab4a5e13fa - Added support for multiple selection while in Yaourt mode;
- Couple of code refactorings.
2013-08-18 02:01:02 -03:00
Alexandre Arnt
f43d31877f - Code cleaning. 2013-08-17 11:54:25 -03:00
Alexandre Arnt
cf061f2622 - Added Uzbek translation - thanks to ualmasov (Umidjon Almasov) 2013-08-17 00:06:01 -03:00
Alexandre Arnt
cd6e031a34 - Updated CHANGELOG file. 2013-08-16 21:22:17 -03:00
Alexandre Arnt
542a206d01 - BugFix: We have to disable/enable the install local package function
when Octopi is executing a transaction.
2013-08-16 21:07:43 -03:00
Alexandre Arnt
f97448429e - Added russian translation (thanks to macbet and ualmasov);
- Optimized some testing code;
- Updated TRANSLATIONS file.
2013-08-15 23:39:28 -03:00
Alexandre Arnt
95077c712b - Octopi tooltip is no longer used in notifier;
- Doesn't call refreshDistroNews when in sysUpgrade.
2013-08-15 22:20:05 -03:00
Alexandre Arnt
7aa6104e14 - Added processwrapper.cpp to notifier's project;
- Updated CHANGELOG file.
2013-08-14 23:04:40 -03:00
Alexandre Arnt
60902de817 - Modified the link colors when not in Manjaro;
- Removed unused help_en_US.html file.
2013-08-14 22:13:25 -03:00
Alexandre Arnt
1c851e1817 - Code cleanings. 2013-08-14 21:35:28 -03:00
Alexandre Arnt
161d1cb6c9 - BugFix: When in yaourt mode, never show outdated files at statusbar;
- BugFix: english source language had a bug string;
- Updated all translations to fix the source bug;
- Reverted the hiden icon in octopi-notifier;
- Added comments to wmhelper.cpp.
2013-08-13 22:30:04 -03:00
Alexandre Arnt
3b90e3e6a2 - BugFix: When not in Manjaro and KDE, let's put a cleanlooks style in
octopi notifier;
- Hide notifier when there's no more updates available.
2013-08-11 05:55:49 -03:00
Alexandre Arnt
86497ea2c8 - Updated Dutch translation. 2013-08-11 03:55:49 -03:00
Alexandre Arnt
2b8ed46a59 - BugFix: Locale bug in UnixCommand code (thanks to Philip Mueller's
patch);
- Added dutch translation (thanks to Jasper van der Marel).
2013-08-11 03:02:28 -03:00
Alexandre Arnt
4aef1245c9 - Updated polish translation;
- BugFix: When there are issues with pacman upgrade we show them in
Output tab.
2013-08-10 13:59:44 -03:00
Alexandre Arnt
e37cb11343 - BugFix: In doInstallYaourtPackage(), when the user selected to show
only installed packages, Octopi did not honor user selection.
2013-08-10 00:25:06 -03:00
Alexandre Arnt
26047e92a5 - Updated CHANGELOG file. 2013-08-09 19:55:35 -03:00
Alexandre Arnt
22586db454 - BugFix: In notifier, call sysupgrade only when Octopi's icon is red
and angry :-)
2013-08-09 19:40:34 -03:00
Alexandre Arnt
3e224391fe - Updated resources.qrc file. 2013-08-09 18:08:54 -03:00
Alexandre Arnt
beb6f9a114 - Updated some translations;
- Added Servian latin translation (thanks to GameBoyT)
- Updated TRANSLATIONS file.
2013-08-09 18:08:05 -03:00
Alexandre Arnt
2a84d8d728 BugFix: system upgrade was not being called by the notifier in Manjaro;
Updated system upgrade code, including a new qt singleapp message;
Updated italian translation.
2013-08-04 00:38:00 -03:00
Alexandre Arnt
bed9898498 - BugFix in retrieveDistroNews code. 2013-08-03 20:01:04 -03:00
Alexandre Arnt
4aa9a89ed5 Merge branch 'master' of https://github.com/aarnt/octopi 2013-08-03 18:41:26 -03:00
Alexandre Arnt
181257ab9e - Updated catalan and turkish translations;
- Small bugfixes in QProcess preparation code;
- Code cleaning in wmhelper.cpp.
- BugFix: code to search for yaourt.
2013-08-03 18:40:30 -03:00
Alexandre Arnt
680432877d - Updated catalan and turkish translations;
- Small bugfixes in QProcess preparation code;
- Code cleaning in wmhelper.cpp.
2013-08-03 11:49:23 -03:00
Alexandre Arnt
4080d95306 - BugFix: external terminals did not use translations;
- Added Cinnamon DM support;
- Modified PKGBUILD (thanks to Philip Mueller) to split octopi and
notifier;
- Updated lots of translations.
2013-08-01 23:22:41 -03:00
Alexandre Arnt
d92a78c563 - Added "install local package option";
- Updated english and brazilian translations.
2013-07-29 21:20:20 -03:00
Alexandre Arnt
64618001f4 - BugFix: progress bar of the package list building didn't show 100%;
- Octopi now installs local packages with pacman -U command.
2013-07-28 22:53:51 -03:00
Alexandre Arnt
e8089a9f7d - BugFix in octopi-notifier where it called notify-send several times;
- Added norwegian bokmål translation (thanks to viking60).
2013-07-26 22:25:30 -03:00
Alexandre Arnt
6821d6dca4 - BugFix: Important fix in GTKStyle code. 2013-07-25 22:54:12 -03:00
Alexandre Arnt
f266b18285 - Some small refactorings. 2013-07-25 22:25:19 -03:00
Alexandre Arnt
b1e966b6b6 - BugFix in notify-send code. 2013-07-23 20:39:46 -03:00
Alexandre Arnt
e3d8e6fe3f - Updated notify-send code. 2013-07-24 22:23:11 -03:00
Alexandre Arnt
4fa2a65db2 - Updated CHANGELOG file. 2013-07-24 21:49:48 -03:00
Alexandre Arnt
582a4ab7e4 - BugFix: refresh package list after a syncdb if the notifier is
running;
- Updated arabian translation.
2013-07-24 21:46:56 -03:00
Alexandre Arnt
f0c17ae27a - Added octopi_lt.ts file. 2013-07-23 19:47:16 -03:00
Alexandre Arnt
db74213976 - Updated CHANGELOG and TRANSLATIONS files. 2013-07-23 19:46:04 -03:00
Alexandre Arnt
f55cca4827 - Added Lithuanian translation. 2013-07-23 19:44:21 -03:00
Alexandre Arnt
0b53e96a71 BugFix: A missing test when using GTK style. 2013-07-23 19:32:18 -03:00
Alexandre Arnt
f477ba4cf8 Merge branch 'master' of https://github.com/aarnt/octopi 2013-07-22 23:12:23 -03:00
Alexandre Arnt
a24a187fe0 - Updated CHANGELOG file. 2013-07-23 00:23:21 -03:00
Alexandre Arnt
3da1929c70 - Changed octopi-notifier timer to 1 hour.
- BugFix in octopi-notifier's notify-send code.
2013-07-23 00:09:43 -03:00
Alexandre Arnt
f5e154d24a - BugFix: When running in Manjaro and not in KDE, Octopi uses GtkStyle. 2013-07-22 23:11:49 -03:00
Alexandre Arnt
54bde33675 - Added "notify-send" support to octopi-notifier. 2013-07-22 22:58:06 -03:00
Alexandre Arnt
a771c37ca6 - BugFix in gtk style code. 2013-07-22 22:09:59 -03:00
Alexandre Arnt
60c3b5fecb - Bugfix in xfce theme. 2013-07-21 22:49:37 -03:00
Alexandre Arnt
6d32f8ed06 - BUGFIX: setAlternatingRowColors(true) only if running in Manjaro and
not in KDE.
2013-07-21 22:35:40 -03:00
Alexandre Arnt
40c53d073b - Update: When the user closes notifier and Octopi was running, tries to
close it too;
- Removed styles from Manjaro theme, so it is almost GTK native.
2013-07-21 22:31:17 -03:00
Alexandre Arnt
31324ba240 - Updated TRANSLATIONS file. 2013-07-21 20:43:43 -03:00
Alexandre Arnt
c27e34da2c - Added hebrew translation (thanks to GenghisKhan) 2013-07-21 20:42:26 -03:00
Alexandre Arnt
75a2aba102 Merge branch 'master' of https://github.com/aarnt/octopi 2013-07-21 20:31:16 -03:00
Alexandre Arnt
cdcf75f60f - Now the notifier hides/shows octopi when clicked;
- Reworked logic of qtsingleapplication code;
- Some refactorings in some methods.
2013-07-21 20:30:15 -03:00
Alexandre Arnt
8f0146812b BugFix: call a QApplication::restoreOverrideCursor() before a
systemUpgrade inside buildPackageList code.
2013-07-20 23:49:57 -03:00
Alexandre Arnt
e3e709f69b - Updated PKGBUILD (thanks to Philm from Manjaro);
- BugFix in transaction code when Octopi starts straight in sysupgrade
mode.
2013-07-20 00:27:53 -03:00
Alexandre Arnt
0db39e04dc - Added a desktop file to the octopi-notifier util. 2013-07-20 00:02:49 -03:00
Alexandre Arnt
eb77f8cbdd - BugFix in sysupgrade code. 2013-07-20 22:31:30 -03:00
Alexandre Arnt
a471490e6e - Created octopi-notifier project;
- Lots of refactorings to cope with this;
- Bumped version number to 0.2.
2013-07-20 22:10:06 -03:00
Alexandre Arnt
99e04027a6 - Bugfix in style guessing code. 2013-07-19 23:44:02 -03:00
Alexandre Arnt
52b6ab1aac - Bugfixes in style guessing code. 2013-07-20 14:08:21 -03:00
Alexandre Arnt
f623438072 - Updated CHANGELOG. 2013-07-20 14:03:08 -03:00
Alexandre Arnt
57e906c403 - Bugfixes in style guessing code. 2013-07-20 13:59:06 -03:00
Alexandre Arnt
3e46942841 - Octopi now defaults to gtk style while in Manjaro, plastique in KDE
and CleanLooks elsewhere;
- Bugfixes in searchlineedit.cpp code.
2013-07-20 12:21:54 -03:00
Alexandre Arnt
ee5d7640d2 - Updated transaction code to remove a message. 2013-07-14 22:37:13 -03:00
Alexandre Arnt
d8d367986e - Added copyright header in globals.* files. 2013-07-14 16:55:05 -03:00
Alexandre Arnt
343c80486e - Created a parameter in buildPackageList method, indicating whether to
run it non-blocking (default) or not.
2013-07-14 15:54:57 -03:00
Alexandre Arnt
a8a486eb58 BugFix: when user cancelled a sysupgrade transaction inside a terminal,
the package actions remained disabled;
Updated CHANGELOG.
2013-07-14 14:53:02 -03:00
Alexandre Arnt
1cb131bff3 - Updated CHANGELOG and PKGBUILD files;
- Bumped version number to 0.1.9.1.
2013-07-14 12:10:58 -03:00
Alexandre Arnt
b0b2a5f1f8 - Missed files in the last commit... 2013-07-14 11:47:58 -03:00
Alexandre Arnt
bee7d84536 - Changed important logic in transaction, concerning multithreaded code.
- Added globals.cpp/.h files to group global future watchers.
- A couple of refactorings.
2013-07-14 11:47:19 -03:00
Alexandre Arnt
cb34e6dfef - Improved yaourt support.
- Bugfixes and refactorings.
2013-07-09 21:44:25 -03:00
Alexandre Arnt
de00f0739d - Lots of bugfixes related with yaourt support. 2013-07-07 22:00:41 -03:00
Alexandre Arnt
d9385ef82e - BugFix: After a yaourt transaction the package list was not being
refreshed.
2013-07-07 11:39:20 -03:00
Alexandre Arnt
692bc3eb3c - BugFix:: there was a nasty bug in getAvailablePackage code! 2013-07-07 11:05:29 -03:00
Alexandre Arnt
1393e4dcef - BugFix: ProgressBar code refactorings. 2013-07-07 00:10:26 -03:00
Alexandre Arnt
a3020a5136 - Bugfixes in package list refresh code. 2013-07-06 23:16:14 -03:00
Alexandre Arnt
baaf637a41 - Lots of refactorings to make package build code less blocking. 2013-07-06 22:41:24 -03:00
Alexandre Arnt
07c3339975 - Implemented a method to delete QStandardItem models;
- Refactorings in package list refreshing code.
2013-07-05 22:30:13 -03:00
Alexandre Arnt
29e9970d68 - Refactoring in _cloneModelPackages method. 2013-07-05 21:32:54 -03:00
Alexandre Arnt
abee17325d - Changed comment... 2013-07-05 20:47:14 -03:00
Alexandre Arnt
5cfb2f2a43 - Removes Yes button from the System Upgrade transaction dialog. 2013-07-05 19:21:35 -03:00
Alexandre Arnt
56471fb574 - Updated CHANGELOG and PKGBUILD files. 2013-07-05 18:53:45 -03:00
Alexandre Arnt
f259758f42 - BugFix: only insert Yaourt group if the user has the utility
installed.
2013-07-05 18:50:33 -03:00
Alexandre Arnt
c0e3ac8c60 - Added ctrl+shift+Y shortcut to go to the yaourt mode;
- Cleanup some unused code;
- Bugfix when returning from a yaourt transaction;
- Bugfix when yaourt searches return 0 entries.
2013-07-04 23:00:58 -03:00
Alexandre Arnt
6ddb4c98d6 - Updated catalan, danish and polish translations;
- Bunch of refactorings and code cleaning;
- Added support for yaourt;
- Bumped version number to 0.1.9.
2013-07-04 22:14:49 -03:00
Alexandre Arnt
fb67cd2b86 - Conflict issues in git. 2013-06-28 22:13:42 -03:00
Alexandre Arnt
04251cd9f9 - BugFix: We dont notify-sync while in a transaction! 2013-06-28 22:05:50 -03:00
Alexandre Arnt
d5ae2e0617 - Updated PKGBUILD and pacmanhelper service file to install binary at
/usr/lib.
2013-06-16 13:40:53 -03:00
Alexandre Arnt
f6fecd4df2 - Updated bulgarian translation. 2013-06-16 06:19:09 -03:00
Alexandre Arnt
38c12ec313 - Updated the way Octopi launches the PacmanHelper timer. 2013-06-16 02:03:30 -03:00
Alexandre Arnt
26813c7178 - Bugfix in buildPackageList code.
- Updated german and greek translations.
2013-06-15 19:16:08 -03:00
Alexandre Arnt
0ff2a6d5d0 - Changed notifier code to run "pacman -Syy". 2013-06-15 12:06:06 -03:00
Alexandre Arnt
401f0a5a42 - Changed notifier interval to 1 hour. 2013-06-15 11:55:26 -03:00
Alexandre Arnt
4334283cc6 - Let us count Octopi in the m_numberOfInstalledPackages... 2013-06-15 11:25:11 -03:00
Alexandre Arnt
1947269b11 - Updated romanian translation. 2013-06-15 09:46:35 -03:00
Alexandre Arnt
6be391371d - Updated CHANGELOG file. 2013-06-15 06:47:06 -03:00
Alexandre Arnt
b69baae4b8 - Added Czech translation (thanks to fri)! 2013-06-15 06:31:37 -03:00
Alexandre Arnt
47c0e647cc - Updated CHANGELOG file. 2013-06-15 05:57:22 -03:00
Alexandre Arnt
aa09b47c3a - Improved support for ArchBang Linux. 2013-06-15 05:43:05 -03:00
Alexandre Arnt
5f69d430a3 - Added a README file with instructions on how to
create PacmanHelper's QDbusAdaptor.
2013-06-15 02:07:20 -03:00
Alexandre Arnt
d87a0e2ce3 - Added support to ArchBang Linux. 2013-06-14 18:46:21 -03:00
Alexandre Arnt
4761671cac - When there are updated distro news and the mainwindow is hidden, let
it be shown!
2013-06-09 23:45:10 -03:00
Alexandre Arnt
e23fd407e7 - Cut package description tooltips with size greater than 120 chars. 2013-06-09 19:33:02 -03:00
Alexandre Arnt
891d94a66a - Updated INSTALL instructions. 2013-06-09 18:40:32 -03:00
Alexandre Arnt
371216bbe6 - Subtracts octopi from the package and outdated lists ;-) 2013-06-09 15:35:33 -03:00
Alexandre Arnt
66aa26788a - Updated some translations;
- BugFix in refreshSystemTrayIcon code.
2013-06-09 13:47:55 -03:00
Alexandre Arnt
0ebcb5ac2c - Updated french and turkish translations. 2013-06-06 21:39:40 -03:00
Alexandre Arnt
13f7240b01 - Updated CHANGELOG. 2013-06-05 23:22:42 -03:00
Alexandre Arnt
160f6b184e - Bugfix in refreshSystemTrayIcon code. 2013-06-05 23:14:19 -03:00
Alexandre Arnt
f724249202 - Updated translations (pt_BR and tr_TR). 2013-06-05 21:57:23 -03:00
Alexandre Arnt
078e555de3 - Adjusted PKGBUILD file;
- Added refreshDistroNews() to afterPacmanHelperSyncDatabase code.
2013-06-04 23:13:08 -03:00
Alexandre Arnt
eeba5e4a07 - Added notifier support! 2013-06-03 23:38:46 -03:00
Alexandre Arnt
1c2785c056 - Code cleaning. 2013-05-29 20:47:05 -03:00
Alexandre Arnt
d6136e6310 - Updated CHANGELOG. 2013-05-26 21:37:58 -03:00
Alexandre Arnt
4d564e6f23 - Added TRANSLATIONS file. 2013-05-26 20:11:26 -03:00
Alexandre Arnt
0837423de9 - Updated PKGBUILD file. 2013-05-25 23:41:27 -03:00
Alexandre Arnt
4fd661d042 - Updated danish translation (thanks to Snubbi). 2013-05-24 23:01:41 -03:00
Alexandre Arnt
1f65bda6d9 - Added danish translation. 2013-05-22 22:29:25 -03:00
Alexandre Arnt
544d2b8b48 - Added indonesian translation (thanks to Se7enTime);
- Added some missed ".ts" files;
- Updated CHANGELOG.
2013-05-23 20:57:34 -03:00
Alexandre Arnt
e4b53c6601 - Updated CHANGELOG. 2013-05-19 23:24:01 -03:00
Alexandre Arnt
4e49d5ee14 - Updated arabian translation;
- Added polish translation (thanks to kajtek!).
2013-05-19 23:20:37 -03:00
Alexandre Arnt
8dcaeba4f6 - Updated CHANGELOG;
- If it's a sysupgrade after a syncdatabase, do a package list refresh
before the sysupgrade.
2013-05-20 22:10:05 -03:00
Alexandre Arnt
7840590d2b - The command line option "-systemupgrade" now does a sync database too;
- If a system upgrade uses -SyncFirst, the second part of the upgrade
starts automatically.
2013-05-19 22:55:03 -03:00
Alexandre Arnt
d2b0cf37af - Bugfix in spanish translation (thx to tufadorin);
- Added rss icon.
2013-05-19 19:49:18 -03:00
Alexandre Arnt
cabe51b673 - Updated resources.qrc file.
- Bumped version number to 0.1.7.3.
2013-05-18 11:30:23 -03:00
Alexandre Arnt
2a3e5e5d2c - Added bulgarian translation (thanks to loot270). 2013-05-18 11:29:10 -03:00
Alexandre Arnt
3affb5e1e5 - BugFix in PKGBUILD file. 2013-05-17 19:37:52 -03:00
Alexandre Arnt
8cfc12b3c0 - Bugfix in spanish translation (thanks to tufadorin). 2013-05-17 15:19:51 -03:00
Alexandre Arnt
1ef438214e - Added arabian and catalan to the project file. 2013-05-12 21:05:52 -03:00
Alexandre Arnt
8832f929dd - Only present "edit File" if Octopi is not running with root priv. 2013-05-12 12:03:58 -03:00
Alexandre Arnt
a436f10782 - Updated PKGBUILD file. 2013-05-12 10:38:29 -03:00
Alexandre Arnt
eb7ec6aacf Updated CHANGELOG. 2013-05-12 10:23:58 -03:00
Alexandre Arnt
bf0af8658b - Added AR and CA source files. 2013-05-12 10:16:15 -03:00
Alexandre Arnt
e4dd711bc4 - Bugfix: updated all ".qrm" translation files;
- Added Arabian and Catalan translations;
- Fixes "xfce icons in menus bug";
- Bumped version number to 0.1.7.2
2013-05-12 10:10:26 -03:00
Alexandre Arnt
0c01347964 - Bugfix: menu icons were not being shown while in Xfce. 2013-05-11 23:05:11 -03:00
143 changed files with 36120 additions and 3286 deletions

127
CHANGELOG
View File

@@ -1,3 +1,130 @@
0.3.2
Cleaned unused code.
Added icon for mirror-check while in KaOS.
Does a mirror-check at startup while in KaOS.
Added icon for system upgrade.
Added system upgrade button in octopi's toolbar.
BugFix: Navigating in the package list using [A..Z] keys did not work as
expected.
BugFix: When the package list is filtered and you click in a package which is in
the outdated package list, you are redirected to a blank information tab.
BugFix: When the groups button is pressed and the lower pane is maximized, the
former is hidden by the later.
BugFix: When the user had no yaourt in the system, there were a zombie
octopi process 'left running'.
0.3.1
Added support for Qt5.
Added chinese (Taiwan), malay, slovak and ukrainian translations.
Added support to KaOS, a lean KDE centric Linux distro.
Added support to installation of local packages with GUI feedback.
Updated translations.
Changed widget for package groups, from combobox to treeview.
BugFix: When inserting an optional dependency package or removing a dep,
first searches into transaction queue for them.
BugFix: Prevent header resizing in File and Transaction tabs.
0.3
Code cleanings.
BugFix: No need to refresh package list after a cache clean.
BugFix: Konsole was not working with yaourt package installation.
BugFix: Position of search icon in searchedit sometimes was wrong.
BugFix: Some actions did not get disabled while executing a transaction.
BugFix: Use -Ss option while searching for yaourt packages.
BugFix: Don't show package names in yaourt package descriptions.
BugFix: Better RazorQt compatibility.
BugFix: Notifier: clear tooltip if no update is available (thanks to
Anselmo L. S. Melo - anselmolsm).
BugFix: When refreshing packages from a group, the list could become
outdated if the user had installed/removed some package.
BugFix: Use "yaourt -S aur/pkgname" to install yaourt packages
(thanks to ringo32).
BugFix: Octopi was only showing the first Optional Deps in some cases.
Brought back the option to do a graphical system upgrade.
Now when installing a package with optional dependencies, Octopi lets users choose
which optional dependencies (if any) they want to install.
Now when removing a package with dependencies, Octopi lets users choose which one they
want to remove.
Now Get Latest Distro News doesn't freeze the interface.
Changed octopi main icon to octopi-green.png in PKGBUILD and
octopi.desktop.
Added menu "Octopi" and "System Upgrade" in octopi-notifier.
Show Yaourt packages as outdated in default package list.
Now it's possible to upgrade Yaourt packages even outside Yaourt group.
Now the yellow octopi icon means there are outdated yaourt packages.
Now octopi-notifier opens only the transaction dialog if Octopi is not running
and user requests a system upgrade.
Added support to remove Pacman's transaction lock file.
Added a new notification for outdated packages on statusbar.
Added a new status icon: an orange one for newer than repo
installed packages.
Added spanish (Latin America) translation.
Added english (Great Britain) translation.
Added portuguese (Portugal) translation.
Added swedish translation.
Added serbian translation.
Added hungarian translation.
Added new "foreign_red.png" and "octopi_green.png" icons (thanks to Alex
Fredrich).
Added support for pkgfile to view uninstalled package file list while in
ArchLinux/ArchBang (thanks to Damián Nohales).
Added an About Dialog to Octopi Notifier.
Updated translations.
0.2
Splitted the project in "octopi" and "octopi-notifier".
Yaourt no longer runs with root permissions.
Added support for package multi selection in Yaourt mode.
Added option to install local packages.
Added support for "notify-send" in "octopi-notifier".
Added hebrew translation.
Added lithuanian translation.
Added norwegian bokmål translation.
Added servian latin translation.
Added dutch translation.
Added russian translation.
Added uzbek translation.
Added finnish translation.
Added vietnamese translation.
Updated all other translations.
GTK native theme is used by default in Manjaro (while not in KDE).
Added support for Xterm terminal.
IgnorePkg option is now used to build outdated package list.
BugFix: Empty pkg descriptions are now shown as empty.
0.1.9.1
Important bugfixes to deal with multithreaded code.
Added a "globals.h/.cpp" file to group QFutureWatcher globals.
Updated style changing code in main.cpp.
BugFix: when user cancelled a sysupgrade transaction inside a
terminal, the package actions remained disabled.
0.1.9
Added yaourt support.
Updated most of the translations.
0.1.8
Added czech translation.
Added support to ArchBang Linux.
Added a systemtray icon notifier feature using DBus technology.
0.1.7.3
Added a TRANSLATIONS file.
Added danish translation.
Added indonesian translation.
Added polish translation.
Added bulgarian translation.
sysupgrade command line option now synchronizes database.
Bugfix: sysupgrade must refresh packagelist after syncdatabase.
Bugfix: if sysupgrade uses SyncFirst, makes it automatically start a second upgrade.
0.1.7.2
Added catalan translation.
Bugfix: updated new binary translation files to the resources.
0.1.7.1
Bugfix: menu icons were not being shown while in Xfce.
0.1.7
Added "-sysupgrade" command line option.
Added "-removecmd" command line option.

22
INSTALL
View File

@@ -1,10 +1,20 @@
Installing Octopi is a pretty straightforward task.
Assuming you have updated Qt4 libs installed in your system, just:
Assuming you have updated Qt4 libs installed in your system, just run:
1) ./qmake
2) make
Octopi's binary will be generated in "./bin" dir.
makepkg -f
Enjoy!
Wait for the compilation and then install the generated package (as
root), using:
pacman -U [--force] <nameOfTheGeneratedOctopiPackage.tar.xz>
You can also install the generated package notifier, using:
pacman -U [--force] <nameOfTheGeneratedOctopiNotifierPackage.tar.xz>
Octopi is located at the system utilities menu of your Desktop
Environment.
Enjoy!

View File

@@ -1,5 +1,5 @@
pkgname=octopi
pkgver=0.1.7
pkgname=('octopi' 'octopi-notifier')
pkgver=0.3.1
pkgrel=1
pkgdesc="a powerful Pacman frontend using Qt libs"
arch=('i686' 'x86_64')
@@ -7,37 +7,62 @@ url="http://octopiproject.wordpress.com"
license=('GPL2')
install=$pkgname.install
makedepends=('git')
depends=('qt4')
depends=('qt4' 'xterm')
optdepends=('kdesu: for KDE'
'gksu: for XFCE, Gnome, LXDE, Cinnamon'
'gnome-keyring: for password management'
'yaourt: for AUR support'
'octopi-notifier: for notifications'
'pkgfile: to view uninstalled pkg contents in ArchLinux')
provides=('octopi')
conflicts=('octopi')
md5sums=()
_gitroot="git://github.com/aarnt/octopi.git"
_gitname="octopi"
_projpath="$HOME/Projects/$pkgname"
build() {
cpucount=$(grep -c processor /proc/cpuinfo 2>/dev/null)
jc=$((${cpucount:-1}))
cpucount=$(grep -c processor /proc/cpuinfo 2>/dev/null)
jc=$((${cpucount:-1}))
#cd "$srcdir"
#cd "$srcdir"
msg "Starting build..."
qmake-qt4 $_projpath/$pkgname.pro
#"CONFIG+=LINUX_INTEGRATED" \
#"INSTALL_ROOT_PATH=$pkgdir/usr/" \
#"LOWERED_APPNAME=$pkgname"
cd $startdir
qmake-qt4 $pkgname.pro
make -j $jc
cd $startdir/notifier/pacmanhelper
msg "Building pacmanhelper..."
qmake-qt4 pacmanhelper.pro
make -j $jc
cd $startdir/notifier/octopi-notifier
msg "Building octopi-notifier..."
qmake-qt4 octopi-notifier.pro
make -j $jc
}
package() {
# cd "$srcdir/$pkgname"
install -D -m755 $_projpath/bin/$pkgname ${pkgdir}/usr/bin/$pkgname
install -D -m644 $_projpath/$pkgname.desktop ${pkgdir}/usr/share/applications/$pkgname.desktop
install -D -m644 $_projpath/resources/images/${pkgname}_yellow.png ${pkgdir}/usr/share/icons/$pkgname.png
package_octopi() {
#Octopi main files
install -D -m755 $startdir/bin/$pkgname ${pkgdir}/usr/bin/$pkgname
install -D -m644 $startdir/$pkgname.desktop ${pkgdir}/usr/share/applications/$pkgname.desktop
install -D -m644 $startdir/resources/images/${pkgname}_green.png ${pkgdir}/usr/share/icons/$pkgname.png
install -D -m644 $startdir/resources/images/${pkgname}_green.png ${pkgdir}/usr/share/icons/gnome/32x32/apps/$pkgname.png
install -D -m644 $startdir/resources/images/${pkgname}_red.png ${pkgdir}/usr/share/icons/${pkgname}_red.png
install -D -m644 $startdir/resources/images/${pkgname}_yellow.png ${pkgdir}/usr/share/icons/${pkgname}_yellow.png
#make DESTDIR="${pkgdir}" install
#make INSTALL_ROOT=${pkgdir} install
#Pacmanhelper service files
install -D -m755 $startdir/notifier/bin/pacmanhelper ${pkgdir}/usr/lib/octopi/pacmanhelper
install -D -m644 $startdir/notifier/pacmanhelper/polkit/org.octopi.pacman.policy ${pkgdir}/usr/share/polkit-1/actions/org.octopi.pacman.policy
install -D -m644 $startdir/notifier/pacmanhelper/polkit/org.octopi.pacmanhelper.conf ${pkgdir}/etc/dbus-1/system.d/org.octopi.pacmanhelper.conf
install -D -m644 $startdir/notifier/pacmanhelper/polkit/org.octopi.pacmanhelper.xml ${pkgdir}/usr/share/dbus-1/interfaces/org.octopi.pacmanhelper.xml
install -D -m644 $startdir/notifier/pacmanhelper/polkit/org.octopi.pacmanhelper.service ${pkgdir}/usr/share/dbus-1/system-services/org.octopi.pacmanhelper.service
}
package_octopi-notifier() {
pkgdesc="Notifier for Octopi"
depends=('octopi' 'libnotify')
optdepends=('xfce4-notifyd: for notifications in XFCE')
#Octopi-notifier file
install -D -m755 $startdir/notifier/bin/octopi-notifier ${pkgdir}/usr/bin/octopi-notifier
install -D -m644 $startdir/octopi-notifier.desktop ${pkgdir}/etc/xdg/autostart/octopi-notifier.desktop
}

4
README
View File

@@ -1,8 +1,8 @@
This is Octopi, a powerful Pacman frontend using Qt libs.
This is Octopi, a powerful Pacman/Yaourt frontend using Qt libs.
The project's source code is hosted at https://github.com/aarnt/octopi.
You'll need a privilege escalation tool to use it, once running it as
You'll need a privilege escalation tool to use it, once running as
root will not work. Octopi supports kdesu and gksu for that.
Enjoy!

10
THANKS
View File

@@ -1,13 +1,19 @@
A very special thanks goes to:
- Alex Fredrich, for testing and suggestions
- All Octopi translators listed in TRANSLATIONS file!
- Alex Fredrich, for testing, suggestions and icons
- Anke Boersma (demm), for supporting Octopi in KaOS
- Bernardo M. Savone (Bersil), for testing and spreading the word
- Damián Nohales (eagleoneraptor), for pkgfile support
- Edgar Aloísio Berger, for spreading the word by email
- Jose Martinez (dsngjoe), for testing under Cinnamon
- Manjaro community, for testing and suggestions
- Manuel Tortosa, for testing, suggestions and code
- Philip Müller, for testing, patches and suggestions
- Philip Müller (philm), for testing, patches and suggestions
- Riberti de Almeida Felisbino (Holmes), for spreading the word at Manjaro Linux
Brasil
- Ringo de kroon (ringo32), for testing and lots of suggestions
- Sami Korkalainen (Sami-Perkele), for testing and suggestions
- Valdir Rossi Belmonte Filho, for patching the site
Octopi has got much better with all your help!

35
TRANSLATIONS Normal file
View File

@@ -0,0 +1,35 @@
Arabic: karim (Karim Oulad Chalha)
Brazilian Portuguese: arnt (Alexandre Albuquerque Arnt)
Bulgarian: loot270 (Galin Iskrenov)
Catalan: oriolfa (Oriol Fernandez)
Chinese (Taiwan): s8321414 (冥王歐西里斯)
Czech: fri
Danish: Snubbi (Carl Andersen)
Dutch: jsm (Jasper van der Marel)
English: source language
English (Great Britain): jonathon (J Fernyhough)
Finnish: Sami Korkalainen (Sami-Perkele)
French: Loubrix (David Roux)
German: Veraendert
Greek: angel_solomos
Hebrew: GenghisKhan
Hungarian: lajos (Lajos Pasztor)
Indonesian: Se7enTime (Mohamad Hasan Al Banna)
Italian: bersil (Bernardo Miguel Savone)
Lithuanian: liudas (Liudas Ališauskas)
Malay: Puretech
Norwegian Bokmål: viking60
Polish: poker98face (Kuba Kaczmarzyk)
Portuguese: arcorreia (António Correia)
Romanian: Ayceman (Alexandru Ianu)
Russian: macbet (Daniil) and ualmasov (Umidjon Almasov)
Serbian: milenkin (Milena Petrović)
Serbian-latin: GameBoyT (GameBoy)
Slovak: roslav
Spanish: tufadorin
Spanish - Latin America: CostGranda (Cost Granda)
Swedish: riiga
Turkish: yfdogan (Yusuf Faruk DOĞAN)
Ukrainian: zubr139
Uzbek: ualmasov (Umidjon Almasov)
Vietnamese: ppanhh (Anh Phan)

View File

@@ -0,0 +1,37 @@
#include "../../src/unixcommand.h"
#include "../../src/wmhelper.h"
#include "mainwindow.h"
#include <QApplication>
#include <QtGui>
int main(int argc, char *argv[])
{
if (UnixCommand::isAppRunning("octopi-notifier")) return (-1);
QApplication a(argc, argv);
#if QT_VERSION < 0x050000
#ifndef KAOS
QApplication::setGraphicsSystem(QLatin1String("raster"));
if(UnixCommand::getLinuxDistro() == ectn_MANJAROLINUX &&
!WMHelper::isKDERunning())
{
qApp->setStyle(new QGtkStyle());
}
else
qApp->setStyle(new QCleanlooksStyle);
#endif
#endif
QTranslator appTranslator;
appTranslator.load(":/resources/translations/octopi_" +
QLocale::system().name());
a.installTranslator(&appTranslator);
a.setQuitOnLastWindowClosed(false);
MainWindow w;
QResource::registerResource("./resources.qrc");
return a.exec();
}

View File

@@ -0,0 +1,513 @@
#include "mainwindow.h"
#include "../../src/strconstants.h"
#include "../../src/uihelper.h"
#include "../../src/package.h"
#include "../../src/pacmanhelperclient.h"
#include "../../src/transactiondialog.h"
#include <QTimer>
#include <QSystemTrayIcon>
#include <QAction>
#include <QMenu>
#include <QProcess>
#include <QMessageBox>
/*
* This is Octopi Notifier slim interface code :-)
*/
/*
* The obligatory constructor...
*/
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
m_pacmanDatabaseSystemWatcher =
new QFileSystemWatcher(QStringList() << ctn_PACMAN_DATABASE_DIR, this);
initSystemTrayIcon();
}
/*
* Let's initialize the system tray object...
*/
void MainWindow::initSystemTrayIcon()
{
m_commandExecuting = ectn_NONE;
m_outdatedPackageList = new QStringList();
m_systemTrayIcon = new QSystemTrayIcon(this);
m_systemTrayIcon->setObjectName("systemTrayIcon");
m_icon = IconHelper::getIconOctopiTransparent();
m_systemTrayIcon->setIcon(m_icon);
setWindowIcon(m_icon);
m_systemTrayIcon->show();
m_actionExit = new QAction(IconHelper::getIconExit(), tr("Exit"), this);
connect(m_actionExit, SIGNAL(triggered()), this, SLOT(exitNotifier()));
m_actionAbout = new QAction(StrConstants::getHelpAbout(), this);
connect(m_actionAbout, SIGNAL(triggered()), this, SLOT(aboutOctopiNotifier()));
m_actionOctopi = new QAction(this);
m_actionOctopi->setText("Octopi...");
connect(m_actionOctopi, SIGNAL(triggered()), this, SLOT(startOctopi()));
m_actionSystemUpgrade = new QAction(this);
m_actionSystemUpgrade->setText(tr("System upgrade"));
m_actionSystemUpgrade->setIcon(QIcon(":/resources/images/fast_forward.png"));
connect(m_actionSystemUpgrade, SIGNAL(triggered()), this, SLOT(runOctopi()));
m_systemTrayIconMenu = new QMenu( this );
m_systemTrayIconMenu->addAction(m_actionOctopi);
m_systemTrayIconMenu->addAction(m_actionSystemUpgrade);
m_systemTrayIconMenu->addSeparator();
m_systemTrayIconMenu->addAction(m_actionAbout);
m_systemTrayIconMenu->addAction(m_actionExit);
m_systemTrayIcon->setContextMenu(m_systemTrayIconMenu);
connect ( m_systemTrayIcon , SIGNAL( activated( QSystemTrayIcon::ActivationReason ) ),
this, SLOT( execSystemTrayActivated ( QSystemTrayIcon::ActivationReason ) ) );
m_pacmanHelperClient = new PacmanHelperClient("org.octopi.pacmanhelper", "/", QDBusConnection::systemBus(), 0);
connect(m_pacmanHelperClient, SIGNAL(syncdbcompleted()), this, SLOT(afterPacmanHelperSyncDatabase()));
m_pacmanHelperTimer = new QTimer();
m_pacmanHelperTimer->setInterval(100);
m_pacmanHelperTimer->start();
connect(m_pacmanHelperTimer, SIGNAL(timeout()), this, SLOT(pacmanHelperTimerTimeout()));
}
/*
* Execs Octopi
*/
void MainWindow::runOctopi(bool execApplication)
{
QProcess proc;
if (!execApplication &&
!UnixCommand::isAppRunning("octopi", true) && m_outdatedPackageList->count() > 0)
{
doSystemUpgrade();
}
else
{
if (UnixCommand::getLinuxDistro() == ectn_MANJAROLINUX &&
(!WMHelper::isKDERunning() && (!WMHelper::isRazorQtRunning())))
{
if (m_icon.pixmap(QSize(22,22)).toImage() ==
IconHelper::getIconOctopiRed().pixmap(QSize(22,22)).toImage())
{
if (execApplication == true)
{
proc.startDetached("octopi -style gtk");
}
else proc.startDetached("octopi -sysupgrade -style gtk");
}
else
{
proc.startDetached("octopi -style gtk");
}
}
else
{
if (m_icon.pixmap(QSize(22,22)).toImage() ==
IconHelper::getIconOctopiRed().pixmap(QSize(22,22)).toImage())
{
if (execApplication == true)
{
proc.startDetached("octopi");
}
else proc.startDetached("octopi -sysupgrade");
}
else
{
proc.startDetached("octopi");
}
}
}
}
/*
* Shows Octopi Notifier About Dialog...
*/
void MainWindow::aboutOctopiNotifier()
{
QString aboutText = "<b>Octopi Notifier - " + StrConstants::getApplicationVersion() + "</b><br>";
aboutText += "<a href=\"http://octopiproject.wordpress.com/\">http://octopiproject.wordpress.com</a><br><br>";
aboutText += "&copy; Alexandre Albuquerque Arnt";
QMessageBox::about(this, StrConstants::getHelpAbout(), aboutText);
}
/*
* Hides Octopi
*/
void MainWindow::hideOctopi()
{
QProcess proc;
proc.startDetached("octopi -hide");
}
/*
* Checks if some SU utility is available...
* Returns false if not!
*/
bool MainWindow::_isSUAvailable()
{
//If there are no means to run the actions, we must warn!
if (WMHelper::getSUCommand() == ctn_NO_SU_COMMAND){
QMessageBox::critical( 0, StrConstants::getApplicationName(),
StrConstants::getErrorNoSuCommand() +
"\n" + StrConstants::getYoullNeedSuFrontend());
return false;
}
else
return true;
}
/*
* Calls only the Octopi system upgrade window
*/
void MainWindow::doSystemUpgrade()
{
//Shows a dialog indicating the targets needed to be retrieved and asks for the user's permission.
QList<PackageListData> * targets = Package::getTargetUpgradeList();
//There are no new updates to install!
if (targets->count() == 0 && m_outdatedPackageList->count() == 0)
{
return;
}
else if (targets->count() == 0 && m_outdatedPackageList->count() > 0)
{
return;
}
QString list;
double totalDownloadSize = 0;
foreach(PackageListData target, *targets)
{
totalDownloadSize += target.downloadSize;
list = list + target.name + "-" + target.version + "\n";
}
list.remove(list.size()-1, 1);
totalDownloadSize = totalDownloadSize / 1024;
QString ds = QString::number(totalDownloadSize, 'f', 2);
TransactionDialog question(this);
question.removeYesButton(); //This is a more prudent behaviour!
if(targets->count()==1)
question.setText(StrConstants::getRetrieveTarget() +
"\n\n" + StrConstants::getTotalDownloadSize().arg(ds));
else
question.setText(StrConstants::getRetrieveTargets().arg(targets->count()) +
"\n\n" + StrConstants::getTotalDownloadSize().arg(ds));
question.setWindowTitle(StrConstants::getConfirmation());
question.setInformativeText(StrConstants::getConfirmationQuestion());
question.setDetailedText(list);
m_systemUpgradeDialog = true;
int result = question.exec();
if(result == QDialogButtonBox::Yes || result == QDialogButtonBox::AcceptRole)
{
m_systemUpgradeDialog = false;
//If there are no means to run the actions, we must warn!
if (!_isSUAvailable()) return;
QStringList lastCommandList;
lastCommandList.append("pacman -Su;");
lastCommandList.append("echo -e;");
lastCommandList.append("read -n1 -p \"" + StrConstants::getPressAnyKey() + "\"");
m_unixCommand = new UnixCommand(this);
QObject::connect(m_unixCommand, SIGNAL( finished ( int, QProcess::ExitStatus )),
this, SLOT( doSystemUpgradeFinished(int, QProcess::ExitStatus) ));
toggleEnableInterface(false);
m_actionSystemUpgrade->setEnabled(false);
if (result == QDialogButtonBox::AcceptRole)
{
m_commandExecuting = ectn_RUN_SYSTEM_UPGRADE_IN_TERMINAL;
m_unixCommand->runCommandInTerminal(lastCommandList);
}
}
else if (result == QDialogButtonBox::No)
{
m_systemUpgradeDialog = false;
toggleEnableInterface(true);
refreshAppIcon();
}
}
/*
* When system upgrade process is finished...
*/
void MainWindow::doSystemUpgradeFinished(int, QProcess::ExitStatus)
{
refreshAppIcon();
//Does it still need to upgrade another packages due to SyncFirst issues???
if ((m_commandExecuting == ectn_RUN_SYSTEM_UPGRADE_IN_TERMINAL)
&& m_outdatedPackageList->count() > 0)
{
m_commandExecuting = ectn_NONE;
m_unixCommand->removeTemporaryActionFile();
doSystemUpgrade();
return;
}
m_commandExecuting = ectn_NONE;
m_unixCommand->removeTemporaryActionFile();
toggleEnableInterface(true);
}
/*
* Enables and Disables some UI elements of Octopi-notifier
*/
void MainWindow::toggleEnableInterface(bool state)
{
m_actionOctopi->setEnabled(state);
m_actionExit->setEnabled(state);
}
/*
* Whenever this timer ticks, we need to call the PacmanHelper DBus interface to sync Pacman's dbs
*/
void MainWindow::pacmanHelperTimerTimeout()
{
static bool firstTime=true;
if (m_commandExecuting != ectn_NONE) return;
if (firstTime)
{
m_pacmanHelperTimer->setInterval(1000 * 60 * 60);
firstTime=false;
}
m_actionOctopi->setEnabled(false);
if (m_outdatedPackageList->count() > 0)
{
m_actionSystemUpgrade->setEnabled(false);
}
else
{
m_actionSystemUpgrade->setVisible(false);
}
m_icon = IconHelper::getIconOctopiTransparent();
m_systemTrayIcon->setIcon(m_icon);
m_systemTrayIconMenu->close();
m_systemTrayIcon->setContextMenu(0);
m_commandExecuting = ectn_SYNC_DATABASE;
m_pacmanHelperClient->syncdb();
}
/*
* Called right after the PacmanHelper syncdb() method has finished!
*/
void MainWindow::afterPacmanHelperSyncDatabase()
{
m_actionOctopi->setEnabled(true);
m_systemTrayIcon->setContextMenu(m_systemTrayIconMenu);
m_systemTrayIconMenu->close();
m_commandExecuting = ectn_NONE;
disconnect(m_pacmanDatabaseSystemWatcher,
SIGNAL(directoryChanged(QString)), this, SLOT(refreshAppIcon()));
int numberOfOutdatedPackages = m_numberOfOutdatedPackages;
refreshAppIcon();
if (numberOfOutdatedPackages != m_numberOfOutdatedPackages)
{
if (m_numberOfOutdatedPackages > 0)
{
QString notification;
if (m_numberOfOutdatedPackages == 1)
{
notification = StrConstants::getOneNewUpdate();
m_systemTrayIcon->setToolTip(notification);
sendNotification(notification);
}
else if (m_numberOfOutdatedPackages > 1)
{
notification = StrConstants::getNewUpdates().arg(m_numberOfOutdatedPackages);
m_systemTrayIcon->setToolTip(notification);
sendNotification(notification);
}
}
}
else
{
QString notification;
if (numberOfOutdatedPackages == 1)
{
notification = StrConstants::getOneNewUpdate();
m_systemTrayIcon->setToolTip(notification);
sendNotification(notification);
}
else if (numberOfOutdatedPackages > 1)
{
notification = StrConstants::getNewUpdates().arg(numberOfOutdatedPackages);
m_systemTrayIcon->setToolTip(notification);
sendNotification(notification);
}
}
connect(m_pacmanDatabaseSystemWatcher,
SIGNAL(directoryChanged(QString)), this, SLOT(refreshAppIcon()));
}
/*
* Uses notify-send to send a notification to the systray area
*/
void MainWindow::sendNotification(const QString &msg)
{
if (WMHelper::isXFCERunning() || WMHelper::isLXDERunning() || WMHelper::isOPENBOXRunning())
{
QString processToExec("notify-send");
if (UnixCommand::hasTheExecutable(processToExec))
{
QProcess *send = new QProcess();
processToExec += " -i /usr/share/icons/octopi_red.png -t 30000 \"" + StrConstants::getApplicationName() +
"\" \"" + msg + "\"";
send->startDetached(processToExec);
}
}
}
/*
* If we have some outdated packages, let's put an angry red face icon in this app!
*/
void MainWindow::refreshAppIcon()
{
m_outdatedPackageList = Package::getOutdatedPackageList();
bool hasYaourt = UnixCommand::hasTheExecutable("yaourt");
if (hasYaourt)
{
m_outdatedYaourtPackageList = Package::getOutdatedYaourtPackageList();
}
else
{
m_outdatedYaourtPackageList = new QStringList();
}
m_numberOfOutdatedPackages = m_outdatedPackageList->count();
m_numberOfOutdatedYaourtPackages = m_outdatedYaourtPackageList->count();
if (m_numberOfOutdatedPackages == 0 && m_numberOfOutdatedYaourtPackages == 0)
{
m_systemTrayIcon->setToolTip("");
}
else if (m_numberOfOutdatedPackages > 0)
{
if (m_numberOfOutdatedPackages == 1)
{
m_systemTrayIcon->setToolTip(StrConstants::getOneNewUpdate());
}
else if (m_numberOfOutdatedPackages > 1)
{
m_systemTrayIcon->setToolTip(StrConstants::getNewUpdates().arg(m_numberOfOutdatedPackages));
}
}
else if (m_numberOfOutdatedYaourtPackages > 0)
{
if (m_numberOfOutdatedYaourtPackages == 1)
{
m_systemTrayIcon->setToolTip(StrConstants::getOneNewUpdate());
}
else if (m_numberOfOutdatedYaourtPackages > 1)
{
m_systemTrayIcon->setToolTip(StrConstants::getNewUpdates().arg(m_numberOfOutdatedYaourtPackages));
}
}
if(m_outdatedPackageList->count() > 0) //RED ICON!
{
if(m_commandExecuting == ectn_NONE)
{
m_actionSystemUpgrade->setEnabled(true);
m_actionSystemUpgrade->setVisible(true);
}
m_icon = IconHelper::getIconOctopiRed();
}
else if(m_outdatedYaourtPackageList->count() > 0) //YELLOW ICON!
{
m_actionSystemUpgrade->setVisible(false);
m_icon = IconHelper::getIconOctopiYellow();
}
else //YEAHHH... GREEN ICON!
{
m_actionSystemUpgrade->setVisible(false);
m_icon = IconHelper::getIconOctopiGreen();
}
setWindowIcon(m_icon);
m_systemTrayIcon->setIcon(m_icon);
}
/*
* Whenever the user clicks on the systemTray icon...
*/
void MainWindow::execSystemTrayActivated(QSystemTrayIcon::ActivationReason ar)
{
if (m_commandExecuting != ectn_NONE) return;
switch (ar)
{
case QSystemTrayIcon::DoubleClick:
{
if (m_outdatedPackageList->count() > 0)
{
runOctopi();
}
else
{
runOctopi(true);
}
break;
}
case QSystemTrayIcon::Trigger:
{
if (UnixCommand::isAppRunning("octopi", true))
{
hideOctopi();
}
break;
}
default: break;
}
}
/*
* When the users quit this notifier...
*/
void MainWindow::exitNotifier()
{
if (UnixCommand::isAppRunning("octopi", true))
{
QProcess proc;
proc.startDetached("octopi -close");
}
qApp->quit();
}

View File

@@ -0,0 +1,67 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "../../src/unixcommand.h"
#include <QProcess>
#include <QString>
#include <QMainWindow>
#include <QSystemTrayIcon>
class QIcon;
class QMenu;
class QAction;
class QFileSystemWatcher;
class PacmanHelperClient;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
private slots:
void pacmanHelperTimerTimeout();
void afterPacmanHelperSyncDatabase();
void execSystemTrayActivated(QSystemTrayIcon::ActivationReason);
void refreshAppIcon();
void runOctopi(bool execApplication = false);
inline void startOctopi() { runOctopi(true); }
void aboutOctopiNotifier();
void hideOctopi();
void exitNotifier();
void doSystemUpgrade();
void doSystemUpgradeFinished(int, QProcess::ExitStatus);
void toggleEnableInterface(bool state);
private:
int m_numberOfOutdatedPackages;
int m_numberOfOutdatedYaourtPackages;
bool m_systemUpgradeDialog;
CommandExecuting m_commandExecuting;
UnixCommand *m_unixCommand;
QAction *m_actionOctopi;
QAction *m_actionSystemUpgrade;
QAction *m_actionAbout;
QAction *m_actionExit;
QIcon m_icon;
QStringList *m_outdatedPackageList;
QStringList *m_outdatedYaourtPackageList;
QTimer *m_pacmanHelperTimer;
QSystemTrayIcon *m_systemTrayIcon;
QMenu *m_systemTrayIconMenu;
QFileSystemWatcher *m_pacmanDatabaseSystemWatcher;
PacmanHelperClient *m_pacmanHelperClient;
bool _isSUAvailable();
void initSystemTrayIcon();
void sendNotification(const QString &msg);
};
#endif // MAINWINDOW_H

View File

@@ -0,0 +1,45 @@
#-------------------------------------------------
#
# Project created by QtCreator 2013-07-20T16:15:14
#
#-------------------------------------------------
QT += core gui network dbus
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += qt console warn_on debug
TARGET = octopi-notifier
TEMPLATE = app
DESTDIR += ../bin
OBJECTS_DIR += ../build-octopi-notifier
MOC_DIR += ../build-octopi-notifier
UI_DIR += ../build-octopi-notifier
SOURCES += main.cpp \
mainwindow.cpp \
../../src/unixcommand.cpp \
../../src/package.cpp \
../../src/wmhelper.cpp \
../../src/settingsmanager.cpp \
../../src/pacmanhelperclient.cpp \
../../src/utils/processwrapper.cpp \
../../src/transactiondialog.cpp
HEADERS += \
mainwindow.h \
../../src/uihelper.h \
../../src/unixcommand.h \
../../src/wmhelper.h \
../../src/strconstants.h \
../../src/package.h \
../../src/pacmanhelperclient.h \
../../src/utils/processwrapper.h \
../../src/transactiondialog.h
FORMS += ../../ui/transactiondialog.ui
RESOURCES += \
../../resources.qrc

View File

@@ -0,0 +1,5 @@
Command used to generate the PacmanHelperAdaptor:
qdbusxml2cpp -c PacmanHelperAdaptor
-a pacmanhelperadaptor.h:pacmanhelperadaptor.cpp
polkit/org.octopi.pacmanhelper.xml

View File

@@ -0,0 +1,11 @@
#include "pacmanhelper.h"
#include <QCoreApplication>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
PacmanHelper pacmanHelper;
return a.exec();
}

View File

@@ -0,0 +1,35 @@
#include "pacmanhelper.h"
#include "pacmanhelperadaptor.h"
#include <QCoreApplication>
#include <QDBusConnection>
#include <QProcess>
#include <QDebug>
PacmanHelper::PacmanHelper(QObject *parent) :
QObject(parent)
{
(void) new PacmanHelperAdaptor(this);
if (!QDBusConnection::systemBus().registerService("org.octopi.pacmanhelper")) {
qDebug() << "Another helper is already running!";
QCoreApplication::instance()->quit();
}
if (!QDBusConnection::systemBus().registerObject("/", this)) {
qDebug() << "Unable to register service interface to dbus!";
QCoreApplication::instance()->quit();
}
}
void PacmanHelper::syncdb()
{
QProcess pacman;
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert("LANG", "us_EN");
pacman.setProcessEnvironment(env);
QString command = "pacman -Sy"; //-Syy or -Sy - eternal doubt!
pacman.execute(command);
emit syncdbcompleted();
}

View File

@@ -0,0 +1,21 @@
#ifndef PACMANHELPER_H
#define PACMANHELPER_H
#include <QObject>
#include <QtDBus/QDBusContext>
class PacmanHelper : public QObject, protected QDBusContext
{
Q_OBJECT
Q_CLASSINFO("D-Bus Interface", "org.octopi.pacmanhelper")
public:
explicit PacmanHelper(QObject *parent = 0);
public slots:
void syncdb();
signals:
void syncdbcompleted();
};
#endif // PACMANHELPER_H

View File

@@ -0,0 +1,23 @@
#-------------------------------------------------
#
# Project created by QtCreator 2013-06-01T15:00:00
#
#-------------------------------------------------
QT += core dbus
CONFIG += qt console warn_on
TEMPLATE = app
DESTDIR += ../bin
OBJECTS_DIR += ../build
MOC_DIR += ../build
UI_DIR += ../build
HEADERS += pacmanhelper.h \
pacmanhelperadaptor.h
SOURCES += main.cpp \
pacmanhelper.cpp \
pacmanhelperadaptor.cpp

View File

@@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by Qt Creator 2.6.2, 2013-06-03T23:20:52. -->
<qtcreator>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QString" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"/>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">{0dce8b8b-e9b7-4159-956b-f4c9f1085a56}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/arnt/Projects/octopi/notifier/build</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/arnt/Projects/octopi/notifier/pacmanhelper/</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Project.UseGlobal">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">pacmanhelper</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/arnt/Projects/octopi/notifier/pacmanhelper/pacmanhelper.pro</value>
<value type="int" key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase">2</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">pacmanhelper.pro</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
<value type="QString">{e7ed0845-58e4-42af-91c6-0506d885beb7}</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">12</value>
</data>
</qtcreator>

View File

@@ -0,0 +1,41 @@
/*
* This file was generated by qdbusxml2cpp version 0.7
* Command line was: qdbusxml2cpp -c PacmanHelperAdaptor -a pacmanhelperadaptor.h:pacmanhelperadaptor.cpp polkit/org.octopi.pacmanhelper.xml
*
* qdbusxml2cpp is Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
*
* This is an auto-generated file.
* Do not edit! All changes made to it will be lost.
*/
#include "pacmanhelperadaptor.h"
#include <QtCore/QMetaObject>
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QMap>
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QVariant>
/*
* Implementation of adaptor class PacmanHelperAdaptor
*/
PacmanHelperAdaptor::PacmanHelperAdaptor(QObject *parent)
: QDBusAbstractAdaptor(parent)
{
// constructor
setAutoRelaySignals(true);
}
PacmanHelperAdaptor::~PacmanHelperAdaptor()
{
// destructor
}
void PacmanHelperAdaptor::syncdb()
{
// handle method call org.octopi.pacmanhelper.syncdb
QMetaObject::invokeMethod(parent(), "syncdb");
}

View File

@@ -0,0 +1,48 @@
/*
* This file was generated by qdbusxml2cpp version 0.7
* Command line was: qdbusxml2cpp -c PacmanHelperAdaptor -a pacmanhelperadaptor.h:pacmanhelperadaptor.cpp polkit/org.octopi.pacmanhelper.xml
*
* qdbusxml2cpp is Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
*
* This is an auto-generated file.
* This file may have been hand-edited. Look for HAND-EDIT comments
* before re-generating it.
*/
#ifndef PACMANHELPERADAPTOR_H_1370179068
#define PACMANHELPERADAPTOR_H_1370179068
#include <QtCore/QObject>
#include <QtDBus/QtDBus>
class QByteArray;
template<class T> class QList;
template<class Key, class Value> class QMap;
class QString;
class QStringList;
class QVariant;
/*
* Adaptor class for interface org.octopi.pacmanhelper
*/
class PacmanHelperAdaptor: public QDBusAbstractAdaptor
{
Q_OBJECT
Q_CLASSINFO("D-Bus Interface", "org.octopi.pacmanhelper")
Q_CLASSINFO("D-Bus Introspection", ""
" <interface name=\"org.octopi.pacmanhelper\">\n"
" <method name=\"syncdb\"/>\n"
" <signal name=\"syncdbcompleted\"/>\n"
" </interface>\n"
"")
public:
PacmanHelperAdaptor(QObject *parent);
virtual ~PacmanHelperAdaptor();
public: // PROPERTIES
public Q_SLOTS: // METHODS
void syncdb();
Q_SIGNALS: // SIGNALS
void syncdbcompleted();
};
#endif

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
<policyconfig>
<action id="org.octopi.pacman.syncdb">
<description>Synchronizes databases</description>
<message>Prevents from doing action syncdb</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
</action>
</policyconfig>

View File

@@ -0,0 +1,18 @@
<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<!-- Only user root can own the foo helper -->
<policy user="root">
<allow own="org.octopi.pacmanhelper"/>
</policy>
<!-- Allow anyone to call into the service - we'll reject callers using PolicyKit -->
<policy context="default">
<allow send_interface="org.octopi.pacmanhelper"/>
<allow receive_sender="org.octopi.pacmanhelper"/>
<allow receive_interface="org.octopi.pacmanhelper"/>
</policy>
</busconfig>

View File

@@ -0,0 +1,4 @@
[D-BUS Service]
Name=org.octopi.pacmanhelper
Exec=/usr/lib/octopi/pacmanhelper
User=root

View File

@@ -0,0 +1,9 @@
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interface name="org.octopi.pacmanhelper">
<method name="syncdb" >
</method>
<signal name="syncdbcompleted">
</signal>
</interface>
</node>

9
octopi-notifier.desktop Normal file
View File

@@ -0,0 +1,9 @@
[Desktop Entry]
Name=Octopi Notifier
Icon=octopi
Exec=octopi-notifier
Terminal=false
Type=Application
Categories=GNOME;GTK;System;
#NotShowIn=GNOME;XFCE;LXDE;KDE;
StartupNotify=true

View File

@@ -69,7 +69,7 @@ Comment[zh_TW]=加入或移除系統上安裝的軟體
Exec=octopi
GenericName[en_US]=
GenericName=
Icon=/usr/share/icons/octopi.png
Icon=octopi
MimeType=
Name[en_US]=Add/Remove Software
Name=Add/Remove Software

View File

@@ -4,7 +4,7 @@
#
#-------------------------------------------------
QT += core gui network xml
QT += core gui network xml dbus
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
@@ -19,6 +19,10 @@ UI_DIR += build
HEADERS += src/QtSolutions/qtsingleapplication.h \
src/QtSolutions/qtlocalpeer.h \
src/QtSolutions/qtsinglecoreapplication.h \
src/QtSolutions/QtSingleApplication \
src/QtSolutions/qtlockedfile.h \
src/QtSolutions/QtLockedFile \
src/mainwindow.h \
src/strconstants.h \
src/searchlineedit.h \
@@ -29,16 +33,20 @@ HEADERS += src/QtSolutions/qtsingleapplication.h \
src/packagecontroller.h \
src/unixcommand.h \
src/wmhelper.h \
src/QtSolutions/qtsinglecoreapplication.h \
src/QtSolutions/QtSingleApplication \
src/QtSolutions/qtlockedfile.h \
src/QtSolutions/QtLockedFile \
src/treeviewpackagesitemdelegate.h \
src/searchbar.h \
src/transactiondialog.h
src/treeviewpackagesitemdelegate.h \
src/searchbar.h \
src/transactiondialog.h \
src/pacmanhelperclient.h \
src/globals.h \
src/multiselectiondialog.h \
src/utils/processwrapper.h
SOURCES += src/QtSolutions/qtsingleapplication.cpp \
src/QtSolutions/qtlocalpeer.cpp \
src/QtSolutions/qtsinglecoreapplication.cpp \
src/QtSolutions/qtlockedfile.cpp \
src/QtSolutions/qtlockedfile_win.cpp \
src/QtSolutions/qtlockedfile_unix.cpp \
src/main.cpp\
src/mainwindow.cpp \
src/searchlineedit.cpp \
@@ -48,26 +56,26 @@ SOURCES += src/QtSolutions/qtsingleapplication.cpp \
src/packagecontroller.cpp \
src/unixcommand.cpp \
src/wmhelper.cpp \
src/QtSolutions/qtsinglecoreapplication.cpp \
src/QtSolutions/qtlockedfile.cpp \
src/QtSolutions/qtlockedfile_win.cpp \
src/QtSolutions/qtlockedfile_unix.cpp \
src/treeviewpackagesitemdelegate.cpp \
src/mainwindow_init.cpp \
src/mainwindow_transaction.cpp \
src/mainwindow_events.cpp \
src/mainwindow_help.cpp \
src/searchbar.cpp \
src/mainwindow_searchbar.cpp \
src/transactiondialog.cpp \
src/mainwindow_news.cpp \
src/mainwindow_refresh.cpp
src/treeviewpackagesitemdelegate.cpp \
src/mainwindow_init.cpp \
src/mainwindow_transaction.cpp \
src/mainwindow_events.cpp \
src/mainwindow_help.cpp \
src/searchbar.cpp \
src/mainwindow_searchbar.cpp \
src/transactiondialog.cpp \
src/mainwindow_news.cpp \
src/mainwindow_refresh.cpp \
src/pacmanhelperclient.cpp \
src/globals.cpp \
src/multiselectiondialog.cpp \
src/utils/processwrapper.cpp
FORMS += ui/mainwindow.ui \
ui/transactiondialog.ui
FORMS += ui/mainwindow.ui \
ui/transactiondialog.ui \
ui/multiselectiondialog.ui
RESOURCES += \
resources.qrc
RESOURCES += resources.qrc
OTHER_FILES += \
src/QtSolutions/qtsinglecoreapplication.pri \
@@ -76,8 +84,34 @@ OTHER_FILES += \
TRANSLATIONS += resources/translations/octopi_pt_BR.ts \
resources/translations/octopi_fr_FR.ts \
resources/translations/octopi_es_ES.ts \
resources/translations/octopi_es_419.ts \
resources/translations/octopi_el.ts \
resources/translations/octopi_de.ts \
resources/translations/octopi_it.ts \
resources/translations/octopi_ro.ts \
resources/translations/octopi_tr_TR.ts
resources/translations/octopi_tr_TR.ts \
resources/translations/octopi_ar.ts \
resources/translations/octopi_ca.ts \
resources/translations/octopi_bg.ts \
resources/translations/octopi_pl.ts \
resources/translations/octopi_id.ts \
resources/translations/octopi_da.ts \
resources/translations/octopi_cs.ts \
resources/translations/octopi_he.ts \
resources/translations/octopi_lt.ts \
resources/translations/octopi_nb.ts \
resources/translations/octopi_sr@latin.ts \
resources/translations/octopi_sr_RS.ts \
resources/translations/octopi_nl.ts \
resources/translations/octopi_ru.ts \
resources/translations/octopi_uz.ts \
resources/translations/octopi_fi.ts \
resources/translations/octopi_vi.ts \
resources/translations/octopi_en_GB.ts \
resources/translations/octopi_pt_PT.ts \
resources/translations/octopi_sv.ts \
resources/translations/octopi_hu.ts \
resources/translations/octopi_zh_TW.ts \
resources/translations/octopi_ms_MY.ts \
resources/translations/octopi_uk.ts \
resources/translations/octopi_sk.ts

View File

@@ -1,12 +1,5 @@
<RCC>
<qresource prefix="/">
<file>resources/images/octopi_red.png</file>
<file>resources/images/octopi_yellow.png</file>
<file>resources/images/esf-search.png</file>
<file>resources/images/esf-clear-active.png</file>
<file>resources/images/esf-clear-hover.png</file>
<file>resources/images/esf-border.png</file>
<file>resources/images/esf-clear.png</file>
<file>resources/styles/branch-closed_BW.png</file>
<file>resources/styles/branch-closed.png</file>
<file>resources/styles/branch-end.png</file>
@@ -14,6 +7,15 @@
<file>resources/styles/branch-open_BW.png</file>
<file>resources/styles/branch-open.png</file>
<file>resources/styles/vline.png</file>
<file>resources/images/octopi_transparent.png</file>
<file>resources/images/octopi_red.png</file>
<file>resources/images/octopi_yellow.png</file>
<file>resources/images/octopi_green.png</file>
<file>resources/images/esf-search.png</file>
<file>resources/images/esf-clear-active.png</file>
<file>resources/images/esf-clear-hover.png</file>
<file>resources/images/esf-border.png</file>
<file>resources/images/esf-clear.png</file>
<file>resources/images/installed.png</file>
<file>resources/images/noninstalled.png</file>
<file>resources/images/toinstall.png</file>
@@ -22,9 +24,9 @@
<file>resources/images/binary.png</file>
<file>resources/images/outdated.png</file>
<file>resources/images/unrequired.png</file>
<file>resources/images/foreign.png</file>
<file>resources/images/commit.png</file>
<file>resources/images/refresh.png</file>
<file>resources/images/fast_forward.png</file>
<file>resources/images/exit.png</file>
<file>resources/images/rollback.png</file>
<file>resources/images/editfile.png</file>
@@ -36,6 +38,12 @@
<file>resources/images/install_item.png</file>
<file>resources/images/remove_item.png</file>
<file>resources/images/find.png</file>
<file>resources/images/rss.png</file>
<file>resources/images/newer.png</file>
<file>resources/images/foreign_green.png</file>
<file>resources/images/foreign_red.png</file>
<file>resources/images/show_groups.png</file>
<file>resources/images/mirror-check.png</file>
<file>resources/translations/octopi_pt_BR.qm</file>
<file>resources/translations/octopi_fr_FR.qm</file>
<file>resources/translations/octopi_es_ES.qm</file>
@@ -44,5 +52,31 @@
<file>resources/translations/octopi_it.qm</file>
<file>resources/translations/octopi_ro.qm</file>
<file>resources/translations/octopi_tr_TR.qm</file>
<file>resources/translations/octopi_ar.qm</file>
<file>resources/translations/octopi_ca.qm</file>
<file>resources/translations/octopi_bg.qm</file>
<file>resources/translations/octopi_pl.qm</file>
<file>resources/translations/octopi_id.qm</file>
<file>resources/translations/octopi_da.qm</file>
<file>resources/translations/octopi_cs.qm</file>
<file>resources/translations/octopi_he.qm</file>
<file>resources/translations/octopi_lt.qm</file>
<file>resources/translations/octopi_nb.qm</file>
<file>resources/translations/octopi_sr@latin.qm</file>
<file>resources/translations/octopi_nl.qm</file>
<file>resources/translations/octopi_ru.qm</file>
<file>resources/translations/octopi_uz.qm</file>
<file>resources/translations/octopi_fi.qm</file>
<file>resources/translations/octopi_vi.qm</file>
<file>resources/translations/octopi_es_419.qm</file>
<file>resources/translations/octopi_en_GB.qm</file>
<file>resources/translations/octopi_pt_PT.qm</file>
<file>resources/translations/octopi_sv.qm</file>
<file>resources/translations/octopi_sr_RS.qm</file>
<file>resources/translations/octopi_hu.qm</file>
<file>resources/translations/octopi_zh_TW.qm</file>
<file>resources/translations/octopi_ms_MY.qm</file>
<file>resources/translations/octopi_uk.qm</file>
<file>resources/translations/octopi_sk.qm</file>
</qresource>
</RCC>

View File

@@ -1,56 +0,0 @@
<h2>Octopi</h2>
<h3><p>A Qt4-based Pacman frontend,
licensed under the terms of <a style="color:'#4BC413'" href="http://www.gnu.org/licenses/gpl-2.0.html">GPL v2</a>.</p></h3>
<h4><p>For more information, visit:
<a style="color:'#4BC413'" href="http://octopiproject.wordpress.com">http://octopiproject.wordpress.com</a>.</p></h4>
<br>
Package classification:
<ul type="square">
<li><img height="16" width="16" src=":/resources/images/installed.png"> An installed package</li>
<li><img height="16" width="16" src=":/resources/images/unrequired.png"> An installed package (not required by others)</li>
<li><img height="16" width="16" src=":/resources/images/foreign.png"> A foreign package, installed from AUR</li>
<li><img height="16" width="16" src=":/resources/images/noninstalled.png"> A non installed package</li>
<li><img height="16" width="16" src=":/resources/images/outdated.png"> An outdated package</li>
</ul>
Basic usage help:
<ul>
<li>Position the mouse over a package to see its description</li>
<li>Double click an installed package to see its contents</li>
<li>Right click package to install/reinstall or remove it</li>
</ul>
Alt+key sequences:
<ul>
<li>Alt+1 to swtich to "Info" tab</li>
<li>Alt+2 to swtich to "Files" tab</li>
<li>Alt+3 to swtich to "Transaction" tab</li>
<li>Alt+4 to swtich to "Output" tab</li>
<li>Alt+5 to swtich to "News" tab</li>
<li>Alt+6 or "F1" to show this help page</li>
</ul>
Control+key sequences:
<ul>
<li>Ctrl+D or "File/Sync database" to sync the local database with latest remote changes (pacman -Sy)</li>
<li>Ctrl+U or "File/System upgrade" to make a full system upgrade (pacman -Su)</li>
<li>Ctrl+L to find a package in the package list</li>
<li>Ctrl+N or "View/Non installed" to show/hide non installed packages</li>
<li>Ctrl+M or "Transaction/Commit" to start installation/removal of selected packages</li>
<li>Ctrl+B or "Transaction/Rollback" to clear the selection of to be removed/installed packages</li>
<li>Ctrl+G or "File/Get latest distro news" to retrieve the latest RSS based distro news</li>
<li>Ctrl+Q or "File/Exit" to exit the application</li>
</ul>
Control+shift+key sequences:
<ul>
<li>Ctrl+Shift+C to clean local packages cache (pacman -Sc)</li>
<li>Ctrl+Shift+G to display all package groups</li>
</ul>
F+key sequences:
<ul>
<li>F1 to show this help page</li>
<li>F4 to open a Terminal within the selected directory at Files tab</li>
<li>F6 to open a File Manager whitin the selected directory at Files tab</li>
<li>F10 to maximize/demaximize package list view</li>
<li>F12 to maximize/demaximize Tab's view</li>
</ul>
<p>
<br>
<i>Alexandre Albuquerque Arnt - Author</i>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
resources/images/newer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
resources/images/rss.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 B

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More