rendered paste bodyIndex: appletbrowser.h
===================================================================
--- appletbrowser.h (Revision 737337)
+++ appletbrowser.h (Arbeitskopie)
@@ -30,16 +30,16 @@
class Corona;
class Containment;
-class PLASMA_EXPORT AppletBrowser: public KDialog
+class PLASMA_EXPORT AppletBrowserWidget : public QWidget
{
Q_OBJECT
public:
- explicit AppletBrowser(Plasma::Corona *corona, QWidget *parent = 0, Qt::WindowFlags f = 0);
- explicit AppletBrowser(Plasma::Containment *containment, QWidget *parent = 0, Qt::WindowFlags f = 0);
- virtual ~AppletBrowser();
+ explicit AppletBrowserWidget( Plasma::Corona *corona, bool showButtons, QWidget *parent = 0, Qt::WindowFlags f = 0);
+ explicit AppletBrowserWidget(Plasma::Containment *containment, bool showButtons, QWidget *parent = 0, Qt::WindowFlags f = 0);
+ virtual ~AppletBrowserWidget();
void setApplication(const QString& application = QString());
- QString Application();
+ QString application();
protected Q_SLOTS:
/**
@@ -56,8 +56,25 @@
void init();
class Private;
Private * const d;
+ bool m_showButtons;
};
+class PLASMA_EXPORT AppletBrowser: public KDialog
+{
+ Q_OBJECT
+public:
+ explicit AppletBrowser(Plasma::Corona *corona, QWidget *parent = 0, Qt::WindowFlags f = 0);
+ explicit AppletBrowser(Plasma::Containment *containment, QWidget *parent = 0, Qt::WindowFlags f = 0);
+ virtual ~AppletBrowser();
+
+ void setApplication(const QString& application = QString());
+ QString application();
+
+private:
+ void init();
+ AppletBrowserWidget *m_widget;
+};
+
} // namespace Plasma
#endif /*APPLETBROWSERWINDOW_H_*/
Index: appletbrowser.cpp
===================================================================
--- appletbrowser.cpp (Revision 737337)
+++ appletbrowser.cpp (Arbeitskopie)
@@ -33,17 +33,17 @@
namespace Plasma
{
-class AppletBrowser::Private
+class AppletBrowserWidget::Private
{
public:
- Private(Corona* co, Containment* cont, AppletBrowser* q)
+ Private(Corona* co, Containment* cont, AppletBrowserWidget* w)
: corona(co),
containment(cont),
appletList(0),
config("plasmarc"),
configGroup(&config, "Applet Browser"),
- itemModel(configGroup, q),
- filterModel(q)
+ itemModel(configGroup, w),
+ filterModel(w)
{
}
@@ -61,7 +61,7 @@
KCategorizedItemsViewModels::DefaultFilterModel filterModel;
};
-void AppletBrowser::Private::initFilters()
+void AppletBrowserWidget::Private::initFilters()
{
filterModel.clear();
@@ -106,38 +106,50 @@
}
-AppletBrowser::AppletBrowser(Plasma::Corona * corona, QWidget * parent, Qt::WindowFlags f)
- : KDialog(parent, f),
- d(new Private(corona, 0, this))
+AppletBrowserWidget::AppletBrowserWidget(Plasma::Corona * corona, bool showButtons, QWidget * parent, Qt::WindowFlags f)
+ : QWidget(parent, f),
+ d(new Private(corona, 0, this)),
+ m_showButtons( showButtons )
{
init();
}
-AppletBrowser::AppletBrowser(Plasma::Containment * containment, QWidget * parent, Qt::WindowFlags f)
- : KDialog(parent, f),
- d(new Private(0, containment, this))
+AppletBrowserWidget::AppletBrowserWidget(Plasma::Containment * containment, bool showButtons, QWidget * parent, Qt::WindowFlags f)
+ : QWidget(parent, f),
+ d(new Private(0, containment, this)),
+ m_showButtons( showButtons )
{
init();
}
-void AppletBrowser::init()
+AppletBrowserWidget::~AppletBrowserWidget()
{
- d->appletList = new KCategorizedItemsView(this); //TODO: focus the lineedit on startup
+ delete d;
+}
+
+void AppletBrowserWidget::init()
+{
+ QVBoxLayout *layout = new QVBoxLayout(this);
+
+ d->appletList = new KCategorizedItemsView(this);
connect(d->appletList, SIGNAL(activated(const QModelIndex &)), this, SLOT(addApplet()));
- setMainWidget(d->appletList);
+ layout->addWidget( d->appletList );
- setWindowTitle(i18n("Widgets"));
+ if( m_showButtons ) {
+ QHBoxLayout *buttonLayout = new QHBoxLayout();
+ buttonLayout->setSpacing( KDialog::spacingHint() );
+ buttonLayout->setMargin( KDialog::marginHint() );
- setButtons(KDialog::Apply | KDialog::Close | KDialog::User1);
- setButtonText(KDialog::Apply, i18n("Add Widget"));
- setButtonText(KDialog::User1, i18n("Get New Widgets")); //TODO: not overly happy with this text
- enableButton(KDialog::User1, false); //TODO: enable when GHNS integration is implemented
+ QPushButton *addButton = new QPushButton(i18n("Add Widget"), this );
+ connect(addButton, SIGNAL(clicked()), this, SLOT(addApplet()));
+ buttonLayout->addWidget( addButton );
- connect(this, SIGNAL(applyClicked()), this, SLOT(addApplet()));
- connect(this, SIGNAL(user1Clicked()), this, SLOT(downloadApplets()));
+ QPushButton *newButton = new QPushButton(i18n("Get New Widgets"), this ); //TODO: not overly happy with this text
+ connect(newButton, SIGNAL(clicked()), this, SLOT(downloadApplets()));
+ buttonLayout->addWidget( newButton );
- QAction* quit = KStandardAction::quit(qApp, SLOT(quit()), this);
- addAction(quit);
+ layout->addItem( buttonLayout );
+ }
// Other Emblems
d->appletList->addEmblem(i18n("Widgets I Have Used Before"), new KIcon("history"),
@@ -150,13 +162,9 @@
d->appletList->setItemModel(&d->itemModel);
}
-AppletBrowser::~AppletBrowser()
+void AppletBrowserWidget::setApplication(const QString& app)
{
- delete d;
-}
-void AppletBrowser::setApplication(const QString& app)
-{
d->application = app;
d->initFilters();
d->itemModel.setApplication(app);
@@ -166,12 +174,11 @@
d->appletList->setItemModel(&d->itemModel);
}
-QString AppletBrowser::Application()
+QString AppletBrowserWidget::application()
{
return d->application;
}
-
-void AppletBrowser::addApplet()
+void AppletBrowserWidget::addApplet()
{
kDebug() << "Button ADD clicked";
@@ -191,12 +198,68 @@
}
}
-void AppletBrowser::downloadApplets()
+void AppletBrowserWidget::downloadApplets()
{
//TODO: implement
kDebug() << "GHNS button clicked";
}
+
+
+
+
+
+
+
+
+
+
+AppletBrowser::AppletBrowser(Plasma::Corona * corona, QWidget * parent, Qt::WindowFlags f)
+ : KDialog(parent, f),
+ m_widget(new AppletBrowserWidget(corona, false, this))
+{
+ init();
+}
+
+AppletBrowser::AppletBrowser(Plasma::Containment * containment, QWidget * parent, Qt::WindowFlags f)
+ : KDialog(parent, f),
+ m_widget(new AppletBrowserWidget(containment, false, this))
+{
+ init();
+}
+
+void AppletBrowser::init()
+{
+ setMainWidget(m_widget);
+
+ setWindowTitle(i18n("Widgets"));
+
+ setButtons(KDialog::Apply | KDialog::Close | KDialog::User1);
+ setButtonText(KDialog::Apply, i18n("Add Widget"));
+ setButtonText(KDialog::User1, i18n("Get New Widgets")); //TODO: not overly happy with this text
+ enableButton(KDialog::User1, false); //TODO: enable when GHNS integration is implemented
+
+ connect(this, SIGNAL(applyClicked()), m_widget, SLOT(addApplet()));
+ connect(this, SIGNAL(user1Clicked()), m_widget, SLOT(downloadApplets()));
+
+ QAction* quit = KStandardAction::quit(qApp, SLOT(quit()), this);
+ addAction(quit);
+}
+
+AppletBrowser::~AppletBrowser()
+{
+}
+
+void AppletBrowser::setApplication(const QString& app)
+{
+ m_widget->setApplication( app );
+}
+
+QString AppletBrowser::application()
+{
+ return m_widget->application();
+}
+
} // namespace Plasma
#include "appletbrowser.moc"