summaryrefslogtreecommitdiffstats
path: root/plugins/recentstuff
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-17 00:43:50 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-17 00:43:50 +0000
commitceea23677c61f20759ae986bd77b0d5c4d673edb (patch)
tree3fcec1702eaf9c14d1dd736e594f5df08dab4001 /plugins/recentstuff
downloadkbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.tar.gz
kbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.zip
Added old KDE3 version of kbfx
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kbfx@1091549 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'plugins/recentstuff')
-rw-r--r--plugins/recentstuff/CMakeLists.txt44
-rw-r--r--plugins/recentstuff/kbfxplasmarecentstuff.cpp150
2 files changed, 194 insertions, 0 deletions
diff --git a/plugins/recentstuff/CMakeLists.txt b/plugins/recentstuff/CMakeLists.txt
new file mode 100644
index 0000000..787fbd8
--- /dev/null
+++ b/plugins/recentstuff/CMakeLists.txt
@@ -0,0 +1,44 @@
+SET(libkbfxplasmarecentstuffsrc
+ kbfxplasmarecentstuff.cpp
+ )
+
+FILE(GLOB HEADERS *.h)
+
+IF (NOT USE_KDE4)
+ KDE3_AUTOMOC(${libkbfxplasmarecentstuffsrc})
+
+ ADD_LIBRARY(kbfxplasmarecentstuff SHARED ${libkbfxplasmarecentstuffsrc} )
+ SET_TARGET_PROPERTIES(kbfxplasmarecentstuff
+ PROPERTIES
+ COMPILE_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS})
+ # SET_TARGET_PROPERTIES(kbfxplasmarecentstuff PROPERTIES
+ # SOVERSION ${LIB_MAJOR}
+ # VERSION ${APPLICATION_VERSION})
+ TARGET_LINK_LIBRARIES(kbfxplasmarecentstuff
+ kbfxdata
+ ${QT_AND_KDECORE_LIBS}
+ ${KDE3_KIO_LIBRARY}
+ ${KDE3_UI_LIBRARY}
+ ${KDE3_KHTML_LIBRARY}
+ ${M_LIBRARY}
+ )
+
+ KDE3_INSTALL_LIBTOOL_FILE(kbfxplasmarecentstuff ${LIB_INSTALL_DIR}/kbfx/plugins)
+ELSE (NOT USE_KDE4)
+ KDE4_AUTOMOC(${libkbfxplasmarecentstuffsrc})
+
+ KDE4_ADD_LIBRARY(kbfxplasmarecentstuff SHARED ${libkbfxplasmarecentstuffsrc} )
+ TARGET_LINK_LIBRARIES(kbfxplasmarecentstuff
+ kbfxdata
+ ${KDE4_KDECORE_LIBS}
+ ${KDE4_KIO_LIBS}
+ ${KDE4_KDEUI_LIBS}
+ ${KDE4_KHTML_LIBS}
+ ${M_LIBRARY}
+ )
+
+ KDE4_INSTALL_LIBTOOL_FILE(kbfxplasmarecentstuff ${LIB_INSTALL_DIR}/kbfx/plugins)
+ENDIF (NOT USE_KDE4)
+
+INSTALL(TARGETS kbfxplasmarecentstuff DESTINATION ${LIB_INSTALL_DIR}/kbfx/plugins)
+INSTALL(FILES ${HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/kbfx/plugins)
diff --git a/plugins/recentstuff/kbfxplasmarecentstuff.cpp b/plugins/recentstuff/kbfxplasmarecentstuff.cpp
new file mode 100644
index 0000000..b0c4f8c
--- /dev/null
+++ b/plugins/recentstuff/kbfxplasmarecentstuff.cpp
@@ -0,0 +1,150 @@
+/*
+ * Copyright (C) 2006
+ * Siraj Razick <[email protected]>
+ * PhobosK <[email protected]>
+ * see Also AUTHORS
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License version 2 as
+ * published by the Free Software Foundation
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include <kapplication.h>
+#include <kservice.h>
+#include <kservicegroup.h>
+#include <kdebug.h>
+#include <kstandarddirs.h>
+#include <qdir.h>
+#include <qfileinfo.h>
+#include <kbfxplasmadataplugin-common.h>
+#include <kstandarddirs.h>
+
+KbfxDataStack *
+view ()
+{
+
+ KbfxDataGroup *appGroup = new KbfxDataGroup ();
+ KbfxDataGroupList *glist = new KbfxDataGroupList ();
+ KbfxDataStack *gstack = new KbfxDataStack ();
+
+
+ glist->setName ( "List" );
+ glist->setIcon ( "newstuff" );
+ appGroup->setName ( "RecentStuff" );
+
+ QString path =
+ KStandardDirs ().localkdedir () + "/share/apps/RecentDocuments/";
+
+
+
+ QDir d ( path );
+ d.setFilter ( QDir::Files | QDir::Hidden | QDir::NoSymLinks );
+ d.setSorting ( QDir::Size | QDir::Reversed );
+ d.setNameFilter ( "*.desktop" );
+
+ const QFileInfoList *list = d.entryInfoList ();
+ QFileInfoListIterator it ( *list );
+ QFileInfo *fi;
+
+ while ( ( fi = it.current () ) != 0 )
+ {
+
+ KDesktopFile *desktop = new KDesktopFile ( fi->filePath () );
+
+ KbfxDataSource *src = new KbfxDataSource ();
+
+ src->setName ( desktop->readName () );
+ src->setContentPath ( fi->filePath () );
+ src->setIconPath ( desktop->readIcon () );
+ src->setCommand ( "kfmclient exec " + desktop->readEntry ( "URL" ) );
+
+ appGroup->addItem ( src );
+
+ delete desktop;
+ ++it;
+ }
+
+
+ gstack->setName ( "RecentStuff" );
+
+ glist->addGroup ( appGroup );
+ gstack->addGroupList ( glist );
+ return gstack;
+
+
+}
+
+QString
+name ()
+{
+ return QString ( "RecentStuff" );
+}
+
+QString
+type ()
+{
+ return QString ( "Stub Type" );
+}
+
+
+uint
+id ()
+{
+ return 1; //TODO see what can be done... manybe rand()?
+}
+
+
+#include <ktrader.h>
+
+KbfxDataGroup *
+search ( QString _keyword )
+{
+ KbfxDataGroup *appGroup = new KbfxDataGroup ();
+// KbfxDataGroupList *glist = new KbfxDataGroupList ();
+// KbfxDataStack *gstack = new KbfxDataStack ();
+
+
+
+ QString path =
+ KStandardDirs ().localkdedir () + "/share/apps/RecentDocuments/";
+
+ QDir d ( path );
+ d.setFilter ( QDir::Files | QDir::Hidden | QDir::NoSymLinks );
+ d.setSorting ( QDir::Size | QDir::Reversed );
+ d.setNameFilter ( "*.desktop" );
+
+ const QFileInfoList *list = d.entryInfoList ();
+ QFileInfoListIterator it ( *list );
+ QFileInfo *fi;
+
+ while ( ( fi = it.current () ) != 0 )
+ {
+ if ( fi->fileName ().contains ( _keyword ) > 0 )
+ {
+ KDesktopFile *desktop = new KDesktopFile ( fi->filePath () );
+
+ KbfxDataSource *src = new KbfxDataSource ();
+
+ src->setName ( desktop->readName () );
+ src->setContentPath ( fi->filePath () );
+ src->setIconPath ( desktop->readIcon () );
+ src->setCommand ( "kfmclient exec " + desktop->readEntry ( "URL" ) );
+ appGroup->addItem ( src );
+ delete desktop;
+ }
+
+ ++it;
+ }
+
+ return appGroup;
+}