From e9ae80694875f869892f13f4fcaf1170a00dea41 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdewebdev@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kommander/pluginmanager/mainwindow.cpp | 106 +++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 kommander/pluginmanager/mainwindow.cpp (limited to 'kommander/pluginmanager/mainwindow.cpp') diff --git a/kommander/pluginmanager/mainwindow.cpp b/kommander/pluginmanager/mainwindow.cpp new file mode 100644 index 00000000..4cc67d62 --- /dev/null +++ b/kommander/pluginmanager/mainwindow.cpp @@ -0,0 +1,106 @@ +/*************************************************************************** + mainwindow.cpp - Kommander plugin manager mainwindow class implementation + ------------------- + begin : Tue Aug 13 09:31:50 EST 2002 + copyright : (C) 2004 by Marc Britton + email : consume@optushome.com.au + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#include "mainwindow.h" +#include "pluginmanager.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +MainWindow::MainWindow( QWidget* parent, const char *name, WFlags f ) + : KMainWindow( parent, name, f ) +{ + KToolBar *toolBar = new KToolBar( this ); + toolBar->insertButton("fileopen", Add, true, i18n("Add") ); + toolBar->insertButton("no", Remove, true, i18n("Remove") ); + toolBar->insertButton("reload", Refresh, true, i18n("Refresh") ); + connect( toolBar, SIGNAL(clicked(int)), this, SLOT(toolButton(int)) ); + + m_list = new KListBox( this ); + setCentralWidget(m_list); + + m_pluginManager = new PluginManager; + m_list->insertStringList(m_pluginManager->items()); +} + +MainWindow::~MainWindow() +{ + delete m_pluginManager; +} + +void MainWindow::toolButton( int id ) +{ + switch (id) + { + case Add: + add(); + break; + case Remove: + remove(); + break; + case Refresh: + verify(); + break; + } +} + +void MainWindow::add() +{ + QString libDir = KGlobal::dirs()->findResourceDir("lib", "libkommanderplugin"); + QString plugin = KFileDialog::getOpenFileName(libDir, "lib*", this, + i18n("Add Kommander Plugin")); + add(plugin); +} + +void MainWindow::add(const QString &plugin) +{ + if (!m_pluginManager->add(plugin)) + { + QString errMsg = i18n("Unable to load Kommander plugin
%1
").arg(plugin); + KMessageBox::error(this, errMsg, i18n("Cannot add plugin")); + } + else + refresh(); +} + +void MainWindow::remove() +{ + QString plugin = m_list->currentText(); + if (m_pluginManager->remove(plugin)) + refresh(); +} + +void MainWindow::refresh() +{ + m_list->clear(); + m_list->insertStringList(m_pluginManager->items()); +} + +void MainWindow::verify() +{ + m_pluginManager->verify(); + refresh(); +} + +#include "mainwindow.moc" -- cgit v1.2.1