diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-17 00:43:50 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-17 00:43:50 +0000 |
commit | ceea23677c61f20759ae986bd77b0d5c4d673edb (patch) | |
tree | 3fcec1702eaf9c14d1dd736e594f5df08dab4001 /plugins/recentstuff | |
download | kbfx-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.txt | 44 | ||||
-rw-r--r-- | plugins/recentstuff/kbfxplasmarecentstuff.cpp | 150 |
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; +} |