Fix B2 config layout, make it Qt3-free and reindent the sources
svn path=/trunk/KDE/kdebase/workspace/; revision=673175
This commit is contained in:
parent
51107c77b7
commit
768109dcf6
3 changed files with 81 additions and 78 deletions
|
@ -11,7 +11,7 @@ kde4_add_plugin(kwin_b2_config ${kwin_b2_config_PART_SRCS})
|
|||
|
||||
|
||||
|
||||
target_link_libraries(kwin_b2_config ${KDE4_KDEUI_LIBS} ${QT_QT3SUPPORT_LIBRARY} ${QT_QTGUI_LIBRARY})
|
||||
target_link_libraries(kwin_b2_config ${KDE4_KDEUI_LIBS} ${QT_QTGUI_LIBRARY})
|
||||
|
||||
install(TARGETS kwin_b2_config DESTINATION ${PLUGIN_INSTALL_DIR} )
|
||||
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
* Copyright (c) 2001
|
||||
* Karol Szwed <gallium@kde.org>
|
||||
* http://gallium.n3.net/
|
||||
* Copyright (c) 2007
|
||||
* Luciano Montanaro <mikelima@cirulla.net>
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
@ -12,19 +14,17 @@
|
|||
|
||||
//Added by qt3to4:
|
||||
#include <QLabel>
|
||||
#include <QGridLayout>
|
||||
#include <QSpacerItem>
|
||||
#include <klocale.h>
|
||||
#include <kvbox.h>
|
||||
|
||||
|
||||
extern "C"
|
||||
extern "C" KDE_EXPORT QObject *allocate_config(KConfig *conf, QWidget *parent)
|
||||
{
|
||||
KDE_EXPORT QObject* allocate_config( KConfig* conf, QWidget* parent )
|
||||
{
|
||||
return(new B2Config(conf, parent));
|
||||
}
|
||||
return(new B2Config(conf, parent));
|
||||
}
|
||||
|
||||
|
||||
/* NOTE:
|
||||
* 'conf' is a pointer to the kwindecoration modules open kwin config,
|
||||
* and is by default set to the "Style" group.
|
||||
|
@ -33,31 +33,31 @@ extern "C"
|
|||
* Configure tab in kwindecoration
|
||||
*/
|
||||
|
||||
B2Config::B2Config( KConfig* conf, QWidget* parent )
|
||||
: QObject( parent )
|
||||
B2Config::B2Config(KConfig *conf, QWidget *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
KGlobal::locale()->insertCatalog("kwin_b2_config");
|
||||
b2Config = new KConfig("kwinb2rc");
|
||||
gb = new KVBox(parent);
|
||||
KGlobal::locale()->insertCatalog("kwin_b2_config");
|
||||
b2Config = new KConfig("kwinb2rc");
|
||||
gb = new KVBox(parent);
|
||||
|
||||
cbColorBorder = new QCheckBox(
|
||||
i18n("Draw window frames using &titlebar colors"), gb);
|
||||
cbColorBorder->setWhatsThis(
|
||||
i18n("When selected, the window borders "
|
||||
"are drawn using the titlebar colors; otherwise, they are "
|
||||
"drawn using normal border colors."));
|
||||
cbColorBorder = new QCheckBox(
|
||||
i18n("Draw window frames using &titlebar colors"), gb);
|
||||
cbColorBorder->setWhatsThis(
|
||||
i18n("When selected, the window borders "
|
||||
"are drawn using the titlebar colors; otherwise, they are "
|
||||
"drawn using normal border colors."));
|
||||
|
||||
// Grab Handle
|
||||
// Grab Handle
|
||||
showGrabHandleCb = new QCheckBox(
|
||||
i18n("Draw &resize handle"), gb);
|
||||
showGrabHandleCb->setWhatsThis(
|
||||
i18n("When selected, decorations are drawn with a \"grab handle\" "
|
||||
"in the bottom right corner of the windows; "
|
||||
"otherwise, no grab handle is drawn."));
|
||||
"in the bottom right corner of the windows; "
|
||||
"otherwise, no grab handle is drawn."));
|
||||
|
||||
// Double click menu option support
|
||||
actionsGB = new Q3GroupBox(i18n("Actions Settings"), gb);
|
||||
actionsGB->setOrientation(Qt::Horizontal);
|
||||
actionsGB = new QGroupBox(i18n("Actions Settings"), gb);
|
||||
//actionsGB->setOrientation(Qt::Horizontal);
|
||||
QLabel *menuDblClickLabel = new QLabel(actionsGB);
|
||||
menuDblClickLabel->setText(i18n("Double click on menu button:"));
|
||||
menuDblClickOp = new QComboBox(actionsGB);
|
||||
|
@ -68,37 +68,41 @@ B2Config::B2Config( KConfig* conf, QWidget* parent )
|
|||
|
||||
menuDblClickOp->setWhatsThis(
|
||||
i18n("An action can be associated to a double click "
|
||||
"of the menu button. Leave it to none if in doubt."));
|
||||
"of the menu button. Leave it to none if in doubt."));
|
||||
|
||||
// Load configuration options
|
||||
QGridLayout *actionsLayout = new QGridLayout();
|
||||
QSpacerItem *actionsSpacer = new QSpacerItem(8, 8,
|
||||
QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||
actionsLayout->addWidget(menuDblClickLabel, 0, 0, Qt::AlignRight);
|
||||
actionsLayout->addWidget(menuDblClickOp, 0, 1);
|
||||
actionsLayout->addItem(actionsSpacer, 0, 2);
|
||||
actionsGB->setLayout(actionsLayout);
|
||||
// Load configuration options
|
||||
KConfigGroup cg(b2Config, "General");
|
||||
load(cg);
|
||||
load(cg);
|
||||
|
||||
// Ensure we track user changes properly
|
||||
connect(cbColorBorder, SIGNAL(clicked()),
|
||||
this, SLOT(slotSelectionChanged()));
|
||||
// Ensure we track user changes properly
|
||||
connect(cbColorBorder, SIGNAL(clicked()),
|
||||
this, SLOT(slotSelectionChanged()));
|
||||
connect(showGrabHandleCb, SIGNAL(clicked()),
|
||||
this, SLOT(slotSelectionChanged()));
|
||||
this, SLOT(slotSelectionChanged()));
|
||||
connect(menuDblClickOp, SIGNAL(activated(int)),
|
||||
this, SLOT(slotSelectionChanged()));
|
||||
// Make the widgets visible in kwindecoration
|
||||
gb->show();
|
||||
this, SLOT(slotSelectionChanged()));
|
||||
// Make the widgets visible in kwindecoration
|
||||
gb->show();
|
||||
}
|
||||
|
||||
|
||||
B2Config::~B2Config()
|
||||
{
|
||||
delete b2Config;
|
||||
delete gb;
|
||||
delete gb;
|
||||
}
|
||||
|
||||
|
||||
void B2Config::slotSelectionChanged()
|
||||
{
|
||||
emit changed();
|
||||
emit changed();
|
||||
}
|
||||
|
||||
|
||||
// Loads the configurable options from the kwinrc config file
|
||||
// It is passed the open config from kwindecoration to improve efficiency
|
||||
void B2Config::load(const KConfigGroup & /*conf*/)
|
||||
|
@ -108,63 +112,60 @@ void B2Config::load(const KConfigGroup & /*conf*/)
|
|||
bool override = cg.readEntry("UseTitleBarBorderColors", false);
|
||||
cbColorBorder->setChecked(override);
|
||||
|
||||
override = cg.readEntry( "DrawGrabHandle", true);
|
||||
override = cg.readEntry("DrawGrabHandle", true);
|
||||
showGrabHandleCb->setChecked(override);
|
||||
|
||||
QString returnString = cg.readEntry(
|
||||
"MenuButtonDoubleClickOperation", "NoOp");
|
||||
"MenuButtonDoubleClickOperation", "NoOp");
|
||||
|
||||
int op;
|
||||
if (returnString == "Close") {
|
||||
op = 3;
|
||||
} else if (returnString == "Shade") {
|
||||
op = 2;
|
||||
op = 3;
|
||||
} else if (returnString == "Shade") {
|
||||
op = 2;
|
||||
} else if (returnString == "Minimize") {
|
||||
op = 1;
|
||||
op = 1;
|
||||
} else {
|
||||
op = 0;
|
||||
op = 0;
|
||||
}
|
||||
|
||||
menuDblClickOp->setCurrentIndex(op);
|
||||
|
||||
}
|
||||
|
||||
static QString opToString(int op)
|
||||
{
|
||||
switch (op) {
|
||||
case 1:
|
||||
return "Minimize";
|
||||
return "Minimize";
|
||||
case 2:
|
||||
return "Shade";
|
||||
return "Shade";
|
||||
case 3:
|
||||
return "Close";
|
||||
return "Close";
|
||||
case 0:
|
||||
default:
|
||||
return "NoOp";
|
||||
return "NoOp";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Saves the configurable options to the kwinrc config file
|
||||
void B2Config::save(KConfigGroup & /*conf*/)
|
||||
{
|
||||
KConfigGroup cg(b2Config, "General");
|
||||
cg.writeEntry("UseTitleBarBorderColors", cbColorBorder->isChecked());
|
||||
cg.writeEntry("DrawGrabHandle", showGrabHandleCb->isChecked());
|
||||
cg.writeEntry("MenuButtonDoubleClickOperation",
|
||||
opToString(menuDblClickOp->currentIndex()));
|
||||
cg.writeEntry("MenuButtonDoubleClickOperation",
|
||||
opToString(menuDblClickOp->currentIndex()));
|
||||
// Ensure others trying to read this config get updated
|
||||
b2Config->sync();
|
||||
}
|
||||
|
||||
|
||||
// Sets UI widget defaults which must correspond to style defaults
|
||||
void B2Config::defaults()
|
||||
{
|
||||
cbColorBorder->setChecked(false);
|
||||
cbColorBorder->setChecked(false);
|
||||
showGrabHandleCb->setChecked(true);
|
||||
menuDblClickOp->setCurrentIndex(0);
|
||||
}
|
||||
|
||||
#include "config.moc"
|
||||
// vim: ts=4
|
||||
// vi: sw=4 ts=8
|
||||
|
|
|
@ -4,46 +4,48 @@
|
|||
* Copyright (c) 2001
|
||||
* Karol Szwed <gallium@kde.org>
|
||||
* http://gallium.n3.net/
|
||||
* Copyright (c) 2007
|
||||
* Luciano Montanaro <mikelima@cirulla.net>
|
||||
*/
|
||||
|
||||
#ifndef _KDE_B2CONFIG_H
|
||||
#define _KDE_B2CONFIG_H
|
||||
|
||||
#include <QCheckBox>
|
||||
#include <q3groupbox.h>
|
||||
#include <QGroupBox>
|
||||
#include <QLabel>
|
||||
#include <QComboBox>
|
||||
#include <kconfig.h>
|
||||
|
||||
class B2Config: public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
B2Config( KConfig* conf, QWidget* parent );
|
||||
~B2Config();
|
||||
public:
|
||||
B2Config(KConfig *conf, QWidget *parent);
|
||||
~B2Config();
|
||||
|
||||
// These public signals/slots work similar to KCM modules
|
||||
signals:
|
||||
void changed();
|
||||
// These public signals/slots work similar to KCM modules
|
||||
signals:
|
||||
void changed();
|
||||
|
||||
public slots:
|
||||
void load( const KConfigGroup& conf );
|
||||
void save( KConfigGroup& conf );
|
||||
void defaults();
|
||||
public slots:
|
||||
void load(const KConfigGroup &conf);
|
||||
void save(KConfigGroup &conf);
|
||||
void defaults();
|
||||
|
||||
protected slots:
|
||||
void slotSelectionChanged(); // Internal use
|
||||
protected slots:
|
||||
void slotSelectionChanged(); // Internal use
|
||||
|
||||
private:
|
||||
KConfig* b2Config;
|
||||
QCheckBox* cbColorBorder;
|
||||
QCheckBox* showGrabHandleCb;
|
||||
Q3GroupBox* actionsGB;
|
||||
QComboBox* menuDblClickOp;
|
||||
QWidget* gb;
|
||||
private:
|
||||
KConfig *b2Config;
|
||||
QCheckBox *cbColorBorder;
|
||||
QCheckBox *showGrabHandleCb;
|
||||
QGroupBox *actionsGB;
|
||||
QComboBox *menuDblClickOp;
|
||||
QWidget *gb;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
// vim: ts=4
|
||||
// vi: sw=4 ts=8
|
||||
|
|
Loading…
Reference in a new issue