added app list backup, helper shell scripts
authorHeikki Holstila <heikki.holstila@gmail.com>
Wed, 10 Nov 2010 22:09:45 +0000 (00:09 +0200)
committerHeikki Holstila <heikki.holstila@gmail.com>
Wed, 10 Nov 2010 22:09:45 +0000 (00:09 +0200)
13 files changed:
Makefile
TODO.txt
aaptinterface.cpp
aaptinterface.h
debian/changelog
debian/rules
fapman
fapt-cache [new file with mode: 0755]
fapt-get [new file with mode: 0755]
packageview.cpp
packageview.h
packageview.ui
version.h

index 3b105d6..6dd7d2a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,9 @@
 #############################################################################
 # Makefile for building: fapman
-# Generated by qmake (2.01a) (Qt 4.7.0) on: Tue Nov 9 23:45:22 2010
+# Generated by qmake (2.01a) (Qt 4.7.0) on: Wed Nov 10 18:51:09 2010
 # Project:  fapman.pro
 # Template: app
-# Command: /usr/bin/qmake -o Makefile fapman.pro
+# Command: /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/qmake -spec /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/linux-g++-maemo5 -o Makefile fapman.pro
 #############################################################################
 
 ####### Compiler, tools and options
@@ -13,13 +13,13 @@ CXX           = g++
 DEFINES       = -DQT_GL_NO_SCISSOR_TEST -DQT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH=1024 -DQT_NO_DEBUG -DQT_MAEMO5_LIB -DQT_PHONON_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
 CFLAGS        = -pipe -O3 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wall -W -D_REENTRANT $(DEFINES)
 CXXFLAGS      = -pipe -O3 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wall -W -D_REENTRANT $(DEFINES)
-INCPATH       = -I/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/linux-g++-maemo5 -I. -I/targets/FREMANTLE_ARMEL/usr/include/QtCore -I/targets/FREMANTLE_ARMEL/usr/include/QtNetwork -I/targets/FREMANTLE_ARMEL/usr/include/QtGui -I/targets/FREMANTLE_ARMEL/usr/include/QtDBus -I/targets/FREMANTLE_ARMEL/usr/include/phonon -I/targets/FREMANTLE_ARMEL/usr/include/QtMaemo5 -I/targets/FREMANTLE_ARMEL/usr/include -I/usr/include/phonon_compat -I. -I.
+INCPATH       = -I/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/linux-g++-maemo5 -I. -I/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/include/QtCore -I/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/include/QtNetwork -I/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/include/QtGui -I/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/include/QtDBus -I/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/include/phonon -I/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/include/QtMaemo5 -I/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/include -I/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/include/phonon_compat -I. -I.
 LINK          = g++
 LFLAGS        = -Wl,-rpath-link,/usr/lib -Wl,-O1 -Wl,--hash-style=gnu
-LIBS          = $(SUBLIBS)  -L/usr/lib -lQtMaemo5 -L/usr/lib -L/usr/X11R6/lib -lphonon -lQtGui -lQtNetwork -lQtDBus -lQtXml -lQtCore -lpthread 
+LIBS          = $(SUBLIBS)  -L/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib -lQtMaemo5 -L/usr/lib -L/usr/X11R6/lib -lphonon -lQtGui -lQtNetwork -lQtDBus -lQtXml -lQtCore -lpthread 
 AR            = ar cqs
 RANLIB        = 
-QMAKE         = /usr/bin/qmake
+QMAKE         = /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/qmake
 TAR           = tar -cf
 COMPRESS      = gzip -9f
 COPY          = cp -f
@@ -122,27 +122,27 @@ OBJECTS       = main.o \
                moc_searchoptions.o \
                moc_dpkginterface.o \
                qrc_resources.o
-DIST          = /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/common/unix.conf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/common/linux.conf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/qconfig.pri \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt_functions.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt_config.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/default_pre.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/release.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/default_post.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/warn_on.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/moc.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/dbusinterfaces.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/dbusadaptors.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/unix/thread.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/resources.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/uic.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/yacc.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/lex.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/include_source_dir.prf \
+DIST          = /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/common/unix.conf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/common/linux.conf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/qconfig.pri \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/qt_functions.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/qt_config.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/default_pre.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/release.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/default_post.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/warn_on.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/qt.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/moc.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/dbusinterfaces.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/dbusadaptors.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/unix/thread.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/resources.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/uic.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/yacc.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/lex.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/include_source_dir.prf \
                fapman.pro
 QMAKE_TARGET  = fapman
 DESTDIR       = 
@@ -175,65 +175,65 @@ all: Makefile $(TARGET)
 $(TARGET): ui_mainwindow.h ui_packageview.h ui_filterselect.h ui_confirmdialog.h ui_repoview.h ui_packageselector.h ui_help.h ui_settings.h ui_repoedit.h ui_logview.h ui_sortselector.h ui_blacklistselect.h ui_searchoptions.h $(OBJECTS)  
        $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
 
-Makefile: fapman.pro  /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/linux-g++-maemo5/qmake.conf /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/common/unix.conf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/common/linux.conf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/qconfig.pri \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt_functions.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt_config.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/default_pre.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/release.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/default_post.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/warn_on.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/moc.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/dbusinterfaces.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/dbusadaptors.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/unix/thread.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/resources.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/uic.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/yacc.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/lex.prf \
-               /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/include_source_dir.prf \
-               /usr/lib/libQtMaemo5.prl \
-               /usr/lib/libQtGui.prl \
-               /usr/lib/libQtDBus.prl \
-               /usr/lib/libQtXml.prl \
-               /usr/lib/libQtCore.prl \
-               /usr/lib/libphonon.prl \
-               /usr/lib/libQtNetwork.prl
-       $(QMAKE) -o Makefile fapman.pro
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/common/unix.conf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/common/linux.conf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/qconfig.pri:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt_functions.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt_config.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/exclusive_builds.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/default_pre.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/release.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/default_post.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/warn_on.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/moc.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/dbusinterfaces.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/dbusadaptors.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/unix/thread.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/resources.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/uic.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/yacc.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/lex.prf:
-/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/include_source_dir.prf:
-/usr/lib/libQtMaemo5.prl:
-/usr/lib/libQtGui.prl:
-/usr/lib/libQtDBus.prl:
-/usr/lib/libQtXml.prl:
-/usr/lib/libQtCore.prl:
-/usr/lib/libphonon.prl:
-/usr/lib/libQtNetwork.prl:
+Makefile: fapman.pro  /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/linux-g++-maemo5/qmake.conf /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/common/unix.conf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/common/linux.conf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/qconfig.pri \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/qt_functions.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/qt_config.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/default_pre.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/release.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/default_post.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/warn_on.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/qt.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/moc.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/dbusinterfaces.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/dbusadaptors.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/unix/thread.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/resources.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/uic.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/yacc.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/lex.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/include_source_dir.prf \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libQtMaemo5.prl \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libQtGui.prl \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libQtDBus.prl \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libQtXml.prl \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libQtCore.prl \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libphonon.prl \
+               /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libQtNetwork.prl
+       $(QMAKE) -spec /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/linux-g++-maemo5 -o Makefile fapman.pro
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/common/unix.conf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/common/linux.conf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/qconfig.pri:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/qt_functions.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/qt_config.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/exclusive_builds.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/default_pre.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/release.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/default_post.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/warn_on.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/qt.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/moc.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/dbusinterfaces.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/dbusadaptors.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/unix/thread.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/resources.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/uic.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/yacc.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/lex.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/features/include_source_dir.prf:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libQtMaemo5.prl:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libQtGui.prl:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libQtDBus.prl:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libQtXml.prl:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libQtCore.prl:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libphonon.prl:
+/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/lib/libQtNetwork.prl:
 qmake:  FORCE
-       @$(QMAKE) -o Makefile fapman.pro
+       @$(QMAKE) -spec /opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/share/qt4/mkspecs/linux-g++-maemo5 -o Makefile fapman.pro
 
 dist: 
        @$(CHK_DIR_EXISTS) .tmp/fapman1.0.0 || $(MKDIR) .tmp/fapman1.0.0 
@@ -264,47 +264,47 @@ compiler_moc_header_clean:
 moc_mainwindow.cpp: aaptinterface.h \
                blacklistselect.h \
                mainwindow.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp
 
 moc_packageview.cpp: mainwindow.h \
                aaptinterface.h \
                blacklistselect.h \
                package.h \
                packageview.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) packageview.h -o moc_packageview.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) packageview.h -o moc_packageview.cpp
 
 moc_filterselect.cpp: filterselect.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) filterselect.h -o moc_filterselect.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) filterselect.h -o moc_filterselect.cpp
 
 moc_confirmdialog.cpp: confirmdialog.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) confirmdialog.h -o moc_confirmdialog.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) confirmdialog.h -o moc_confirmdialog.cpp
 
 moc_dimmer.cpp: dimmer.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) dimmer.h -o moc_dimmer.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) dimmer.h -o moc_dimmer.cpp
 
 moc_repoview.cpp: repoview.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) repoview.h -o moc_repoview.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) repoview.h -o moc_repoview.cpp
 
 moc_packageselector.cpp: package.h \
                blacklistselect.h \
                packageselector.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) packageselector.h -o moc_packageselector.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) packageselector.h -o moc_packageselector.cpp
 
 moc_help.cpp: help.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) help.h -o moc_help.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) help.h -o moc_help.cpp
 
 moc_settings.cpp: settings.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) settings.h -o moc_settings.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) settings.h -o moc_settings.cpp
 
 moc_aaptinterface.cpp: blacklistselect.h \
                aaptinterface.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) aaptinterface.h -o moc_aaptinterface.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) aaptinterface.h -o moc_aaptinterface.cpp
 
 moc_repoedit.cpp: repoedit.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) repoedit.h -o moc_repoedit.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) repoedit.h -o moc_repoedit.cpp
 
 moc_logview.cpp: logview.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) logview.h -o moc_logview.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) logview.h -o moc_logview.cpp
 
 moc_sortselector.cpp: packageview.h \
                mainwindow.h \
@@ -312,19 +312,19 @@ moc_sortselector.cpp: packageview.h \
                blacklistselect.h \
                package.h \
                sortselector.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) sortselector.h -o moc_sortselector.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) sortselector.h -o moc_sortselector.cpp
 
 moc_blacklistselect.cpp: blacklistselect.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) blacklistselect.h -o moc_blacklistselect.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) blacklistselect.h -o moc_blacklistselect.cpp
 
 moc_rotatingbackground.cpp: rotatingbackground.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) rotatingbackground.h -o moc_rotatingbackground.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) rotatingbackground.h -o moc_rotatingbackground.cpp
 
 moc_searchoptions.cpp: searchoptions.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) searchoptions.h -o moc_searchoptions.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) searchoptions.h -o moc_searchoptions.cpp
 
 moc_dpkginterface.cpp: dpkginterface.h
-       /usr/bin/moc $(DEFINES) $(INCPATH) dpkginterface.h -o moc_dpkginterface.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/moc $(DEFINES) $(INCPATH) dpkginterface.h -o moc_dpkginterface.cpp
 
 compiler_dbus_interface_source_make_all:
 compiler_dbus_interface_source_clean:
@@ -354,7 +354,7 @@ qrc_resources.cpp: resources.qrc \
                icons/upgrade.png \
                icons/remove.png \
                icons/pkg_upgrade.png
-       /usr/bin/rcc -name resources resources.qrc -o qrc_resources.cpp
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/rcc -name resources resources.qrc -o qrc_resources.cpp
 
 compiler_image_collection_make_all: qmake_image_collection.cpp
 compiler_image_collection_clean:
@@ -374,43 +374,43 @@ compiler_uic_clean:
        -$(DEL_FILE) ui_mainwindow.h ui_packageview.h ui_filterselect.h ui_confirmdialog.h ui_repoview.h ui_packageselector.h ui_help.h ui_settings.h ui_repoedit.h ui_logview.h ui_sortselector.h ui_blacklistselect.h ui_searchoptions.h
 ui_mainwindow.h: mainwindow.ui \
                rotatingbackground.h
-       /usr/bin/uic mainwindow.ui -o ui_mainwindow.h
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/uic mainwindow.ui -o ui_mainwindow.h
 
 ui_packageview.h: packageview.ui
-       /usr/bin/uic packageview.ui -o ui_packageview.h
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/uic packageview.ui -o ui_packageview.h
 
 ui_filterselect.h: filterselect.ui
-       /usr/bin/uic filterselect.ui -o ui_filterselect.h
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/uic filterselect.ui -o ui_filterselect.h
 
 ui_confirmdialog.h: confirmdialog.ui
-       /usr/bin/uic confirmdialog.ui -o ui_confirmdialog.h
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/uic confirmdialog.ui -o ui_confirmdialog.h
 
 ui_repoview.h: repoview.ui
-       /usr/bin/uic repoview.ui -o ui_repoview.h
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/uic repoview.ui -o ui_repoview.h
 
 ui_packageselector.h: packageselector.ui
-       /usr/bin/uic packageselector.ui -o ui_packageselector.h
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/uic packageselector.ui -o ui_packageselector.h
 
 ui_help.h: help.ui
-       /usr/bin/uic help.ui -o ui_help.h
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/uic help.ui -o ui_help.h
 
 ui_settings.h: settings.ui
-       /usr/bin/uic settings.ui -o ui_settings.h
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/uic settings.ui -o ui_settings.h
 
 ui_repoedit.h: repoedit.ui
-       /usr/bin/uic repoedit.ui -o ui_repoedit.h
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/uic repoedit.ui -o ui_repoedit.h
 
 ui_logview.h: logview.ui
-       /usr/bin/uic logview.ui -o ui_logview.h
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/uic logview.ui -o ui_logview.h
 
 ui_sortselector.h: sortselector.ui
-       /usr/bin/uic sortselector.ui -o ui_sortselector.h
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/uic sortselector.ui -o ui_sortselector.h
 
 ui_blacklistselect.h: blacklistselect.ui
-       /usr/bin/uic blacklistselect.ui -o ui_blacklistselect.h
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/uic blacklistselect.ui -o ui_blacklistselect.h
 
 ui_searchoptions.h: searchoptions.ui
-       /usr/bin/uic searchoptions.ui -o ui_searchoptions.h
+       /opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/uic searchoptions.ui -o ui_searchoptions.h
 
 compiler_yacc_decl_make_all:
 compiler_yacc_decl_clean:
index eceb41e..ecaf46f 100644 (file)
--- a/TODO.txt
+++ b/TODO.txt
@@ -6,11 +6,12 @@
 
 
 0.7:
-- app list backup & restore
+* promt for filename when storing/loading selections
+* ability to save all installed user-category packages as a selection list
+* added command line scripts to use apt-get with FAM's cache (fapt-get, fapt-cache)
+- possibility to force reinstall of an already installed package
+- improve package dialog UI in portrait mode
 - better blacklist editor
-- save/load selections to/from any user-selectable file
-- don't lose package selections when returning to main menu
-  (autostore/load selections - to different file than normal store)
 - ability to import/export blacklist?
 
 
 later/any/uncertain:
 - fetch dates from other repositories than maemo.org?
 - fetch dates for other than user categories?
-- update install/remove changes directly to internal package db & don't require re-reading package lists afterwards
 - add an option to start fetching changelogs automatically for all upgradeable packages?
 - how to handle package names that end in '-'? (theoretically they are valid but nonexistent?)
 - ability to easily add extras-devel and extras-testing to repos if they don't exist
 - load package lists in the background when the main menu is visible?
-- possibility to force reinstall of an already installed package
 - warn about unauthenticated packages / option to disable installing unauthenticated packages
 - show download speed and current repo for apt-get update (very hard to do since apt-get update output does not show
   all the information needed to get the current list file names?)
index fc4e616..8e00119 100644 (file)
@@ -1599,7 +1599,6 @@ void AAptInterface::removeFromBlacklist(Package *pkg, BlacklistSelect::blackList
                return;
        }
 
-       //QStringList newlist;
        bool removed = false;
 
        for( int i=0; i<iBlacklist.count(); i++ )
@@ -1618,20 +1617,6 @@ void AAptInterface::removeFromBlacklist(Package *pkg, BlacklistSelect::blackList
                                removed = true;
                        }
                }
-
-               /*
-               if( oldstate == BlacklistSelect::BlacklistAll )
-               {
-                       if( !(iBlacklist.at(i) == pkg->name()) ) {
-                               newlist << iBlacklist.at(i);
-                       } else removed = true;
-               } else if( oldstate == BlacklistSelect::BlacklistThis ) {
-                       if( !(iBlacklist.at(i) == (pkg->name()+" "+pkg->version())) ) {
-                               newlist << iBlacklist.at(i);
-                       } else removed = true;
-               } else {
-                       newlist << iBlacklist.at(i);
-               }*/
        }
 
        if( removed )
@@ -1639,7 +1624,6 @@ void AAptInterface::removeFromBlacklist(Package *pkg, BlacklistSelect::blackList
        else
                qDebug() << "blacklist:" << pkg->name() << "not in saved list";
 
-       //iBlacklist = newlist;
 }
 
 
index e009b5e..23efd1f 100644 (file)
@@ -31,6 +31,8 @@ const QString KBlacklistFile = "/root/.fapman/black.list";
 const QString KOwnRepoFile = "/root/.fapman/repos.list";
 const QString KOwnRepoNamesFile = "/root/.fapman/repos.names";
 
+const QString KDefaultUserOpenSaveDir = "/home/user/MyDocs";
+
 #ifdef Q_WS_MAEMO_5
        const QString KHamRepoListFile = "/etc/apt/sources.list.d/hildon-application-manager.list";
 #else
index 2c088d8..a5c0e3d 100644 (file)
@@ -1,3 +1,9 @@
+fapman (0.7-1) unstable; urgency=low
+
+  * 
+
+ -- Heikki Holstila <heikki.holstila@gmail.com>  Wed, 10 Nov 2010 18:15:57 +0200
+
 fapman (0.6.7-1) unstable; urgency=low
 
   * fix: blacklist can get unintentionally cleared
@@ -8,7 +14,7 @@ fapman (0.6.7-1) unstable; urgency=low
   * automatically disable the ovi repository on import
   * minor UI tweaks
 
- -- Heikki Holstila <heikki.holstila@gmail.com>  Tue,  9 Nov 2010 23:44:52 +0200
+ -- Heikki Holstila <heikki.holstila@gmail.com>  Wed, 10 Nov 2010 18:15:19 +0200
 
 fapman (0.6.6-1) unstable; urgency=low
 
index 5f8cc33..38329ec 100755 (executable)
@@ -53,6 +53,8 @@ install: build
        # Add here commands to install the package into debian/fapman.
        $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/fapman install
        install -D fapman $(CURDIR)/debian/fapman/usr/bin/fapman
+       install -D fapt-cache $(CURDIR)/debian/fapman/usr/bin/fapt-cache
+       install -D fapt-get Â$(CURDIR)/debian/fapman/usr/bin/fapt-get
        install -D icons/fapman.png $(CURDIR)/debian/fapman/usr/share/icons/hicolor/48x48/apps/fapman.png
        install -D misc/fapman.desktop $(CURDIR)/debian/fapman/usr/share/applications/hildon/fapman.desktop
        install -D misc/fapman.sudoers $(CURDIR)/debian/fapman/etc/sudoers.d/fapman.sudoers
diff --git a/fapman b/fapman
index 5c30428..1638d1a 100755 (executable)
Binary files a/fapman and b/fapman differ
diff --git a/fapt-cache b/fapt-cache
new file mode 100755 (executable)
index 0000000..86d20b0
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+apt-cache \
+-o Dir::Etc::sourcelist=/opt/fapman-cache/sources.list \
+-o Dir::State::lists=/opt/fapman-cache/lists \
+-o Dir::Etc::sourceparts=\"\" \
+$*
diff --git a/fapt-get b/fapt-get
new file mode 100755 (executable)
index 0000000..80d77de
--- /dev/null
+++ b/fapt-get
@@ -0,0 +1,6 @@
+#!/bin/sh
+apt-get \
+-o Dir::Etc::sourcelist=/opt/fapman-cache/sources.list \
+-o Dir::State::lists=/opt/fapman-cache/lists \
+-o Dir::Etc::sourceparts=\"\" \
+$*
index 73d0dd7..8b78bc0 100644 (file)
@@ -451,6 +451,12 @@ void PackageView::openWin()
                ui->actionRestore_all->setVisible(false);
        }
 
+       if( iSelectedStatFilter==Package::PkgStatInstalled ) {
+               ui->actionStore_list->setVisible(true);
+       } else {
+               ui->actionStore_list->setVisible(false);
+       }
+
        show();
 
        if( !ui->searchBar->isVisible() ) {
@@ -991,14 +997,19 @@ void PackageView::on_actionLoad_selections_triggered()
                        return;
        }
 
+       QString filename = QFileDialog::getOpenFileName(this, "Open selections list", KDefaultUserOpenSaveDir, "Selection lists (*.slist)");
+       if( filename.isNull() || filename.isEmpty() )
+               return;
+
        clearSelections();
 
        QStringList unknownList;
        QStringList wrongverList;
+       QStringList wrongstatusList;
        int success=0;
        int errors=0;
 
-       QFile f("/root/.fapman/selections.list");
+       QFile f( filename );
        if( f.open(QIODevice::ReadOnly | QIODevice::Text ) )
        {
                while(!f.atEnd()) {
@@ -1012,14 +1023,18 @@ void PackageView::on_actionLoad_selections_triggered()
                                                unknownList << parts.at(0);
                                        }
                                        else if( pkgIn ) {
-                                               wrongverList << parts.at(0);
+                                               wrongstatusList << parts.at(0);
                                        }
                                        else if( pkgAv ) {
-                                               if( pkgAv->version() == parts.at(1) && !pkgAv->isInstalled() ) {
+                                               if( !pkgAv->isInstalled() )
+                                               {
                                                        pkgAv->setMarkedForOperation(Package::PkgOpInstallUpgrade);
                                                        success++;
+                                                       if( pkgAv->version() != parts.at(1) ) {
+                                                               wrongverList << parts.at(0);
+                                                       }
                                                } else {
-                                                       wrongverList << parts.at(0);
+                                                       wrongstatusList << parts.at(0);
                                                }
                                        }
 
@@ -1028,14 +1043,18 @@ void PackageView::on_actionLoad_selections_triggered()
                                                unknownList << parts.at(0);
                                        }
                                        else if( (pkgAv && !pkgIn) || (pkgIn && !pkgAv) ) {
-                                               wrongverList << parts.at(0);
+                                               wrongstatusList << parts.at(0);
                                        }
                                        else if( pkgIn && pkgAv ) {
-                                               if( pkgIn->version() == parts.at(1) && pkgIn->isInstalled() && pkgIn->isUpgradeable() ) {
+                                               if( pkgIn->isInstalled() && pkgIn->isUpgradeable() )
+                                               {
                                                        pkgIn->setMarkedForOperation(Package::PkgOpInstallUpgrade);
                                                        success++;
+                                                       if( pkgIn->version() != parts.at(1) ) {
+                                                               wrongverList << parts.at(0);
+                                                       }
                                                } else {
-                                                       wrongverList << parts.at(0);
+                                                       wrongstatusList << parts.at(0);
                                                }
                                        }
 
@@ -1044,14 +1063,18 @@ void PackageView::on_actionLoad_selections_triggered()
                                                unknownList << parts.at(0);
                                        }
                                        else if( pkgAv && !pkgIn ) {
-                                               wrongverList << parts.at(0);
+                                               wrongstatusList << parts.at(0);
                                        }
                                        else if( pkgIn ) {
-                                               if( pkgIn->version() == parts.at(1) && pkgIn->isInstalled() ) {
+                                               if( pkgIn->isInstalled() )
+                                               {
                                                        pkgIn->setMarkedForOperation(Package::PkgOpRemove);
                                                        success++;
+                                                       if( pkgIn->version() != parts.at(1) ) {
+                                                               wrongverList << parts.at(0);
+                                                       }
                                                } else {
-                                                       wrongverList << parts.at(0);
+                                                       wrongstatusList << parts.at(0);
                                                }
                                        }
                                } else {
@@ -1067,14 +1090,25 @@ void PackageView::on_actionLoad_selections_triggered()
        ConfirmDialog d(false, this);
        QString msg;
        msg += QString("<b>%1 successful</b><br>").arg(success);
+
        if( wrongverList.count() > 0 ) {
-               msg += QString("%1 wrong versions/changed statuses (not selected):<br>").arg(wrongverList.count());
+               msg += QString("%1 version mismatches (selected anyway):<br>").arg(wrongverList.count());
                msg += "<font size=\"-1\">";
                for( int i=0; i<wrongverList.count(); i++ ) {
                        msg += wrongverList.at(i) + " ";
                }
                msg += "</font><br>";
        }
+
+       if( wrongstatusList.count() > 0 ) {
+               msg += QString("%1 status mismatches (packages ignored):<br>").arg(wrongstatusList.count());
+               msg += "<font size=\"-1\">";
+               for( int i=0; i<wrongstatusList.count(); i++ ) {
+                       msg += wrongstatusList.at(i) + " ";
+               }
+               msg += "</font><br>";
+       }
+
        if( unknownList.count() > 0 ) {
                msg += QString("%1 unknown packages:<br>").arg(unknownList.count());
                msg += "<font size=\"-1\">";
@@ -1083,10 +1117,11 @@ void PackageView::on_actionLoad_selections_triggered()
                }
                msg += "</font><br>";
        }
-       if( errors>0 || (wrongverList.count()==0 && unknownList.count()==0) ) {
+
+       if( errors>0 || (wrongstatusList.count()==0 && unknownList.count()==0) ) {
                msg += QString("%1 errors<br>").arg(errors);
        }
-       if( success==0 && wrongverList.count()==0 && unknownList.count()==0 )
+       if( success==0 && wrongstatusList.count()==0 && unknownList.count()==0 )
                msg = "No stored selections";
        QString title;
        if( success > 0 )
@@ -1096,6 +1131,14 @@ void PackageView::on_actionLoad_selections_triggered()
        d.setText(title, msg);
        d.exec();
 
+       if( unknownList.count()>0 && iAptInterface->needListOrDateRefresh() )
+       {
+               ConfirmDialog f(false, this);
+               f.setText("About Unknown packages","You encountered unknown packages. You might want to try "
+                                 "loading the selections again after loading the full package lists (by selecting install or upgrade view)");
+               f.exec();
+       }
+
        if( success > 0 ) {
                ui->btn_StatusFilter->setEnabled(false);
                iSelectedCatFilter = CatFilterAllMarked;
@@ -1108,7 +1151,14 @@ void PackageView::on_actionSave_selections_triggered()
        if( iAptInterface->numSelectedPackages() == 0 )
                return;
 
-       QFile f("/root/.fapman/selections.list");
+       QString filename = QFileDialog::getSaveFileName(this, "Save selections to...", KDefaultUserOpenSaveDir, "Selection lists (*.slist)");
+       if( filename.isNull() || filename.isEmpty() )
+               return;
+
+       if( !filename.endsWith(".slist") )
+               filename.append(".slist");
+
+       QFile f( filename );
        bool fail = false;
        int count = 0;
        if( f.open(QIODevice::WriteOnly | QIODevice::Text) )
@@ -1182,3 +1232,44 @@ void PackageView::on_actionRestore_all_triggered()
        iAptInterface->writeBlacklist();
        openWin();
 }
+
+void PackageView::on_actionStore_list_triggered()
+{
+       QString filename = QFileDialog::getSaveFileName(this, "Save application list to...", KDefaultUserOpenSaveDir, "Selection lists (*.slist)");
+       if( filename.isNull() || filename.isEmpty() )
+               return;
+
+       if( !filename.endsWith(".slist") )
+               filename.append(".slist");
+
+       QFile f( filename );
+       bool fail = false;
+       int count = 0;
+       if( f.open(QIODevice::WriteOnly | QIODevice::Text) )
+       {
+               QTextStream out(&f);
+
+               QHashIterator<QString, Package*> r( *iAptInterface->packagesInstalled() );
+               while (r.hasNext())
+               {
+                       r.next();
+
+                       if( r.value()->isInstalled() && r.value()->section().startsWith("user/") ) {
+                               out << r.value()->name() << " " << r.value()->version() << " install\n";
+                               count++;
+                       }
+               }
+
+               f.close();
+       } else {
+               fail = true;
+       }
+
+       ConfirmDialog d(false, this);
+       if( fail )
+               d.setText( "Error", "Failed to write application list" );
+       else
+               d.setText( "List stored", QString("Stored %1 selections.").arg(count) + "<br>"
+                                  "The list can be used to restore removed applications later." );
+       d.exec();
+}
index c5ce12e..36cd1c1 100644 (file)
@@ -180,7 +180,8 @@ private:
        int iPackagesEmptySort;
 
 private slots:
-       void on_pushButton_searchOptions_clicked();
+       void on_actionStore_list_triggered();
+ void on_pushButton_searchOptions_clicked();
  void on_actionRestore_all_triggered();
  void on_actionSave_selections_triggered();
        void on_actionLoad_selections_triggered();
index b856b67..a84c4d1 100644 (file)
     <addaction name="actionClear_selections"/>
     <addaction name="actionLoad_selections"/>
     <addaction name="actionSave_selections"/>
+    <addaction name="actionStore_list"/>
    </widget>
    <addaction name="menuMenu"/>
   </widget>
     <bool>true</bool>
    </property>
    <property name="text">
-    <string>Load selections</string>
+    <string>Load selections...</string>
    </property>
   </action>
   <action name="actionSave_selections">
     <bool>true</bool>
    </property>
    <property name="text">
-    <string>Store selections</string>
+    <string>Store selections...</string>
    </property>
   </action>
   <action name="actionRestore_all">
     <string>Restore all</string>
    </property>
   </action>
+  <action name="actionStore_list">
+   <property name="text">
+    <string>Store installed list...</string>
+   </property>
+  </action>
  </widget>
  <resources>
   <include location="resources.qrc"/>
index 49d2185..6682b2f 100644 (file)
--- a/version.h
+++ b/version.h
@@ -1 +1 @@
-const QString PROGRAM_VERSION="0.6.7";
+const QString PROGRAM_VERSION="0.7";