themesdlg.h
00001 /* 00002 * Copyright (C) 2005 Petri Damstén <petri.damsten@iki.fi> 00003 * 00004 * This file is part of SuperKaramba. 00005 * 00006 * SuperKaramba is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * SuperKaramba is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with SuperKaramba; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00019 ****************************************************************************/ 00020 00021 #ifndef THEMESDLG_H 00022 #define THEMESDLG_H 00023 00024 #include <themes_layout.h> 00025 #include "karambaapp.h" 00026 00027 #ifdef HAVE_CONFIG_H 00028 #include <config.h> 00029 #endif 00030 00034 #ifdef HAVE_KNEWSTUFF 00035 class SKNewStuff; 00036 #endif 00037 class ThemeFile; 00038 class KArchiveDirectory; 00039 00040 class ThemesDlg : public ThemesLayout 00041 { 00042 Q_OBJECT 00043 TQ_OBJECT 00044 00045 public: 00046 ThemesDlg(TQWidget *parent = 0, const char *name = 0); 00047 ~ThemesDlg(); 00048 00049 int addTheme(const TQString &appId, const TQString &file); 00050 void removeTheme(const TQString &appId, const TQString &file, int instance); 00051 int addThemeToList(const TQString &file); 00052 void addSkzThemeToDialog(const TQString &file); 00053 void addThemeToDialog(const KArchiveDirectory *archiveDir, const TQString& destDir); 00054 void writeNewStuffConfig(const TQString &file); 00055 void configSanityCheck(); 00056 bool isDownloaded(const TQString &path); 00057 void saveUserAddedThemes(); 00058 TQStringList runningThemes(); 00059 00060 protected slots: 00061 virtual void addToDesktop(); 00062 virtual void selectionChanged(int); 00063 virtual void openLocalTheme(); 00064 virtual void getNewStuff(); 00065 virtual void search(const TQString& text); 00066 virtual void uninstall(); 00067 00068 protected: 00069 static bool filter(int index, TQWidget* widget, void* data); 00070 void populateListbox(); 00071 int themeIndex(TQString file); 00072 TQStringList themes(); 00073 00074 #ifdef HAVE_KNEWSTUFF 00075 private: 00076 SKNewStuff *mNewStuff; 00077 TQStringList m_newStuffStatus; 00078 #endif 00079 }; 00080 00081 #endif