You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
230 lines
6.7 KiB
230 lines
6.7 KiB
12 years ago
|
--- trinity-tdebase-3.5.13.2~pre86+807a5445/kcontrol/kdm/kdm-appear.h.kdm_theme_selector 2013-01-09 02:12:13.000000000 +0100
|
||
|
+++ trinity-tdebase-3.5.13.2~pre86+807a5445/kcontrol/kdm/kdm-appear.h 2013-05-09 12:58:14.535347383 +0200
|
||
|
@@ -26,6 +26,7 @@
|
||
|
#include <tqimage.h>
|
||
|
#include <tqfileinfo.h>
|
||
|
#include <tqpushbutton.h>
|
||
|
+#include <tqgroupbox.h>
|
||
|
|
||
|
#include <kcolorbutton.h>
|
||
|
#include <kurl.h>
|
||
|
@@ -57,6 +58,7 @@
|
||
|
|
||
|
void loadColorSchemes(KBackedComboBox *combo);
|
||
|
void loadGuiStyles(KBackedComboBox *combo);
|
||
|
+ void loadThemes(KBackedComboBox *combo);
|
||
|
void loadLanguageList(KLanguageButton *combo);
|
||
|
|
||
|
bool eventFilter(TQObject *, TQEvent *);
|
||
|
@@ -72,6 +74,7 @@
|
||
|
private slots:
|
||
|
void slotAreaRadioClicked(int id);
|
||
|
void slotLogoButtonClicked();
|
||
|
+ void slotUsethemeChanged(bool state);
|
||
|
void changed();
|
||
|
|
||
|
private:
|
||
|
@@ -85,14 +88,19 @@
|
||
|
TQRadioButton *logoRadio;
|
||
|
TQLineEdit *xLineEdit;
|
||
|
TQLineEdit *yLineEdit;
|
||
|
+ TQCheckBox * themecheck;
|
||
|
KBackedComboBox *compositorcombo;
|
||
|
KBackedComboBox *guicombo;
|
||
|
+ KBackedComboBox *themecombo;
|
||
|
KBackedComboBox *colcombo;
|
||
|
KBackedComboBox *echocombo;
|
||
|
+ TQLabel * themeimagelabel;
|
||
|
KLanguageButton *langcombo;
|
||
|
TQCheckBox *sakbox;
|
||
|
TQLabel *sakwarning;
|
||
|
|
||
|
+ //TQHBoxLayout * themehlay;
|
||
|
+ TQGroupBox *themegroup;
|
||
|
};
|
||
|
|
||
|
#endif
|
||
|
--- trinity-tdebase-3.5.13.2~pre86+807a5445/kcontrol/kdm/kdm-appear.cpp.kdm_theme_selector 2013-01-09 02:12:13.000000000 +0100
|
||
|
+++ trinity-tdebase-3.5.13.2~pre86+807a5445/kcontrol/kdm/kdm-appear.cpp 2013-05-09 13:00:34.428413714 +0200
|
||
|
@@ -28,6 +28,7 @@
|
||
|
#include <tqbuttongroup.h>
|
||
|
#include <tqlabel.h>
|
||
|
#include <tqlayout.h>
|
||
|
+#include <tqcheckbox.h>
|
||
|
#include <tqradiobutton.h>
|
||
|
#include <tqwhatsthis.h>
|
||
|
#include <tqvalidator.h>
|
||
|
@@ -35,6 +36,7 @@
|
||
|
#include <tqcheckbox.h>
|
||
|
#include <tqstyle.h>
|
||
|
|
||
|
+#include <kdesktopfile.h>
|
||
|
#include <klocale.h>
|
||
|
#include <klineedit.h>
|
||
|
#include <kimageio.h>
|
||
|
@@ -62,10 +64,43 @@
|
||
|
|
||
|
TQVBoxLayout *vbox = new TQVBoxLayout(this, KDialog::marginHint(),
|
||
|
KDialog::spacingHint(), "vbox");
|
||
|
- TQGroupBox *group = new TQGroupBox(i18n("Appearance"), this);
|
||
|
+
|
||
|
+ // ThemeBox Starts here
|
||
|
+
|
||
|
+ themecheck = new TQCheckBox( i18n("Use Theme"), this );
|
||
|
+ vbox->addWidget(themecheck);
|
||
|
+ connect(themecheck, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
|
||
|
+ connect(themecheck, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotUsethemeChanged(bool)));
|
||
|
+
|
||
|
+ themegroup = new TQGroupBox(0, Vertical, i18n("Theme"), this);
|
||
|
+ vbox->addWidget(themegroup);
|
||
|
+
|
||
|
+ TQGridLayout * grid = new TQGridLayout( themegroup->layout(), 4, 3, KDialog::spacingHint() );
|
||
|
+
|
||
|
+ grid->setColStretch(1, 1);
|
||
|
+ grid->setColStretch(2, 1);
|
||
|
+
|
||
|
+ themecombo = new KBackedComboBox(themegroup);
|
||
|
+ loadThemes(themecombo);
|
||
|
+
|
||
|
+ TQLabel * label1 = new TQLabel(themecombo, i18n("KDM Theme:"),themegroup);
|
||
|
+ grid->addWidget(label1,1,0);
|
||
|
+ grid->addWidget(themecombo,1,1);
|
||
|
+ connect(themecombo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
|
||
|
+ connect(themecombo, TQT_SIGNAL(activated(int)), TQT_SLOT(slotThemeChanged(int)));
|
||
|
+
|
||
|
+ themeimagelabel = new TQLabel(themecombo,"",themegroup);
|
||
|
+
|
||
|
+ grid->addMultiCellWidget(themeimagelabel,1,3,2,2,TQt::AlignRight);
|
||
|
+
|
||
|
+ vbox->addStretch(1);
|
||
|
+ // ENDS HERE
|
||
|
+
|
||
|
+ TQGroupBox * group = new TQGroupBox(i18n("Appearance"), this);
|
||
|
+
|
||
|
vbox->addWidget(group);
|
||
|
|
||
|
- TQGridLayout *grid = new TQGridLayout( group, 5, 2, KDialog::marginHint(),
|
||
|
+ grid = new TQGridLayout( group, 5, 2, KDialog::marginHint(),
|
||
|
KDialog::spacingHint(), "grid");
|
||
|
grid->addRowSpacing(0, group->fontMetrics().height());
|
||
|
grid->setColStretch(0, 1);
|
||
|
@@ -267,10 +302,25 @@
|
||
|
|
||
|
}
|
||
|
|
||
|
+
|
||
|
+void KDMAppearanceWidget::slotUsethemeChanged(bool state)
|
||
|
+{
|
||
|
+ //themehlay->setEnabled(state);
|
||
|
+ //themecombo->setEnabled(state);
|
||
|
+ //themeimagelabel->setEnabled(state);
|
||
|
+ themegroup->setEnabled(state);
|
||
|
+}
|
||
|
+
|
||
|
+
|
||
|
void KDMAppearanceWidget::makeReadOnly()
|
||
|
{
|
||
|
disconnect( logobutton, TQT_SIGNAL(clicked()),
|
||
|
this, TQT_SLOT(slotLogoButtonClicked()) );
|
||
|
+
|
||
|
+ themecheck->setEnabled(false);
|
||
|
+ //themegroup->setEnabled(false);
|
||
|
+ themecombo->setEnabled(false);
|
||
|
+ themeimagelabel->setEnabled(false);
|
||
|
logobutton->setAcceptDrops(false);
|
||
|
greetstr_lined->setReadOnly(true);
|
||
|
noneRadio->setEnabled(false);
|
||
|
@@ -352,6 +402,40 @@
|
||
|
}
|
||
|
}
|
||
|
|
||
|
+void KDMAppearanceWidget::loadThemes(KBackedComboBox *combo)
|
||
|
+{
|
||
|
+ // Gets current Theme in kdmrc
|
||
|
+ TQString current;
|
||
|
+ config->setGroup("X-*-Greeter");
|
||
|
+ TQFileInfo Theme = config->readEntry("Theme");
|
||
|
+ if(Theme.exists()) {
|
||
|
+ current = Theme.fileName();
|
||
|
+ }
|
||
|
+
|
||
|
+ // List directories under "themes" directory
|
||
|
+ TQDir d(locate("data", TQString::fromLatin1("kdm/themes/")), "", TQDir::Name, TQDir::Dirs|TQDir::NoSymLinks|TQDir::Readable|TQDir::Executable);
|
||
|
+ TQStringList list = d.entryList();
|
||
|
+
|
||
|
+ combo->clear();
|
||
|
+ for (TQStringList::ConstIterator it = list.begin(); it != list.end(); ++it) {
|
||
|
+ TQString name = (*it);
|
||
|
+
|
||
|
+ if(name == "." || name == ".." ) {
|
||
|
+ continue;
|
||
|
+ }
|
||
|
+
|
||
|
+ if (name.isEmpty()) {
|
||
|
+ name = "default";
|
||
|
+ }
|
||
|
+
|
||
|
+ combo->insertItem( *it, name);
|
||
|
+
|
||
|
+ if (name == current) {
|
||
|
+ combo->setCurrentItem(combo->count()-1);
|
||
|
+ }
|
||
|
+ }
|
||
|
+}
|
||
|
+
|
||
|
bool KDMAppearanceWidget::setLogo(TQString logo)
|
||
|
{
|
||
|
TQString flogo = logo.isEmpty() ?
|
||
|
@@ -468,6 +552,10 @@
|
||
|
|
||
|
config->writeEntry("GUIStyle", guicombo->currentId());
|
||
|
|
||
|
+ TQString Theme = locate("data", TQString::fromLatin1("kdm/themes/"));
|
||
|
+ Theme.append(themecombo->currentId());
|
||
|
+ config->writeEntry("Theme", Theme);
|
||
|
+
|
||
|
config->writeEntry("ColorScheme", colcombo->currentId());
|
||
|
|
||
|
config->writeEntry("EchoMode", echocombo->currentId());
|
||
|
@@ -476,6 +564,8 @@
|
||
|
|
||
|
config->writeEntry("Language", langcombo->current());
|
||
|
|
||
|
+ config->writeEntry("UseTheme", themecheck->isChecked());
|
||
|
+
|
||
|
if (!sakwarning) {
|
||
|
config->writeEntry("UseSAK", sakbox->isChecked());
|
||
|
}
|
||
|
@@ -523,6 +613,8 @@
|
||
|
// Check the current compositor type
|
||
|
compositorcombo->setCurrentId(config->readEntry("Compositor"));
|
||
|
|
||
|
+ loadThemes(themecombo);
|
||
|
+
|
||
|
// Check the GUI type
|
||
|
guicombo->setCurrentId(config->readEntry("GUIStyle"));
|
||
|
|
||
|
@@ -544,6 +636,9 @@
|
||
|
// get the language
|
||
|
langcombo->setCurrentItem(config->readEntry("Language", "C"));
|
||
|
|
||
|
+ themecheck->setChecked(config->readBoolEntry("UseTheme",true));
|
||
|
+ slotUsethemeChanged(config->readBoolEntry("UseTheme",true));
|
||
|
+
|
||
|
// See if the SAK is enabled
|
||
|
if (!sakwarning) {
|
||
|
sakbox->setChecked(config->readBoolEntry("UseSAK", true));
|
||
|
@@ -556,10 +651,12 @@
|
||
|
|
||
|
void KDMAppearanceWidget::defaults()
|
||
|
{
|
||
|
+ themecheck->setChecked(true);
|
||
|
greetstr_lined->setText( i18n("Welcome to %n") );
|
||
|
logoRadio->setChecked( true );
|
||
|
slotAreaRadioClicked( KdmLogo );
|
||
|
setLogo( "" );
|
||
|
+ themecombo->setCurrentId("");
|
||
|
compositorcombo->setCurrentId( "" );
|
||
|
guicombo->setCurrentId( "" );
|
||
|
colcombo->setCurrentId( "" );
|