[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/traverso PluginSelectorDialog.cpp ...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src/traverso PluginSelectorDialog.cpp ... |
Date: |
Wed, 25 Apr 2007 17:49:24 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/04/25 17:49:24
Modified files:
src/traverso : PluginSelectorDialog.cpp PluginSelectorDialog.h
src/traverso/ui: PluginSelectorDialog.ui
Log message:
* slightly improved plugin selection, cleaner code
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/PluginSelectorDialog.cpp?cvsroot=traverso&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/PluginSelectorDialog.h?cvsroot=traverso&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/ui/PluginSelectorDialog.ui?cvsroot=traverso&r1=1.1&r2=1.2
Patches:
Index: PluginSelectorDialog.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/PluginSelectorDialog.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- PluginSelectorDialog.cpp 20 Apr 2007 12:18:19 -0000 1.7
+++ PluginSelectorDialog.cpp 25 Apr 2007 17:49:24 -0000 1.8
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2006 Remon Sijrier
+Copyright (C) 2006-2007 Remon Sijrier
This file is part of Traverso
@@ -17,13 +17,11 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-$Id: PluginSelectorDialog.cpp,v 1.7 2007/04/20 12:18:19 r_sijrier Exp $
*/
#include "PluginSelectorDialog.h"
#include "ui_PluginSelectorDialog.h"
-#include <QStandardItemModel>
#include <QHeaderView>
#if defined (LV2_SUPPORT)
@@ -32,6 +30,7 @@
#include <Plugin.h>
#include <PluginManager.h>
#include <Information.h>
+#include <Utils.h>
// Always put me below _all_ includes, this is needed
// in case we run with memory leak detection enabled!
@@ -44,10 +43,8 @@
{
setupUi(this);
- QStandardItemModel *model = new QStandardItemModel();
- QModelIndex parent;
+ pluginTreeWidget->header()->setResizeMode(0,
QHeaderView::ResizeToContents);
- model->insertColumns(0, 2, parent);
#if defined (LV2_SUPPORT)
SLV2Plugins pluginList =
PluginManager::instance()->get_slv2_plugin_list();
@@ -55,22 +52,14 @@
for (uint i=0; i < slv2_plugins_size(pluginList); ++i) {
const SLV2Plugin p = slv2_plugins_get_at(pluginList, i);
- model->insertRows(i, 1, parent);
- QModelIndex index = model->index(i, 0, parent);
- model->setData(index, QString( (char*) slv2_plugin_get_name(p))
);
- index = model->index(i, 1, parent);
- model->setData(index, QString( (char*) slv2_plugin_get_uri(p))
);
+ QTreeWidgetItem* item = new QTreeWidgetItem(pluginTreeWidget);
+ item->setText(0, QString( (char*) slv2_plugin_get_name(p)));
+ item->setData(0, Qt::UserRole, QString( (char*)
slv2_plugin_get_uri(p)));
+
}
#endif
- pluginTreeView->setModel(model);
-
- QStringList stringList;
- stringList << "Name" << "Uri";
-
- pluginTreeView->header()->resizeSection(0, 200);
-
- connect(pluginTreeView, SIGNAL(doubleClicked(QModelIndex&)), this,
SLOT(model_double_clicked(QModelIndex&)));
+ connect(pluginTreeWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,
int)), this, SLOT(plugin_double_clicked()));
}
PluginSelectorDialog::~PluginSelectorDialog( )
@@ -78,6 +67,7 @@
void PluginSelectorDialog::on_cancelButton_clicked( )
{
+ reject();
}
void PluginSelectorDialog::on_okButton_clicked( )
@@ -86,14 +76,20 @@
LV2Plugin* plugin = 0;
- QModelIndex index = pluginTreeView->currentIndex();
- if (index.column() == 0)
- index = index.model()->index(index.row(), 1);
+ QList<QTreeWidgetItem *> list = pluginTreeWidget->selectedItems();
+
+ if ( ! list.size()) {
+ printf("No plugin selected\n");
+ reject();
+ return;
+ }
+
+ QTreeWidgetItem* item = list.first();
+
+ QString uri = item->data(0, Qt::UserRole).toString();
- if (index.isValid()) {
- QByteArray uri(index.data().toString().toAscii().data());
+ plugin = new LV2Plugin(QS_C(uri));
- plugin = new LV2Plugin(uri.data());
if (plugin->init() > 0) {
m_plugin = plugin;
} else {
@@ -101,18 +97,18 @@
info().warning(tr("Plugin initialization failed!"));
delete plugin;
plugin = 0;
- }
- } else {
- printf("no index selected\n");
+ reject();
}
m_plugin = plugin;
+ accept();
#endif
}
-void PluginSelectorDialog::model_double_clicked( const QModelIndex& index )
+void PluginSelectorDialog::plugin_double_clicked()
{
+ on_okButton_clicked();
}
PluginSelectorDialog* PluginSelectorDialog::instance()
Index: PluginSelectorDialog.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/PluginSelectorDialog.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- PluginSelectorDialog.h 31 Jul 2006 13:27:59 -0000 1.1
+++ PluginSelectorDialog.h 25 Apr 2007 17:49:24 -0000 1.2
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2006 Remon Sijrier
+Copyright (C) 2006-2007 Remon Sijrier
This file is part of Traverso
@@ -17,7 +17,6 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-$Id: PluginSelectorDialog.h,v 1.1 2006/07/31 13:27:59 r_sijrier Exp $
*/
#ifndef PLUGIN_SELECTOR_DIALOG_H
@@ -49,7 +48,7 @@
private slots:
void on_okButton_clicked();
void on_cancelButton_clicked();
- void model_double_clicked( const QModelIndex& index );
+ void plugin_double_clicked();
};
Index: ui/PluginSelectorDialog.ui
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/ui/PluginSelectorDialog.ui,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- ui/PluginSelectorDialog.ui 31 Jul 2006 13:28:30 -0000 1.1
+++ ui/PluginSelectorDialog.ui 25 Apr 2007 17:49:24 -0000 1.2
@@ -1,7 +1,4 @@
<ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
<class>PluginSelectorDialog</class>
<widget class="QDialog" name="PluginSelectorDialog" >
<property name="geometry" >
@@ -15,23 +12,21 @@
<property name="windowTitle" >
<string>Dialog</string>
</property>
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="0" column="0" >
<layout class="QVBoxLayout" >
<property name="margin" >
- <number>0</number>
+ <number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
- <widget class="QTreeView" name="pluginTreeView" />
+ <widget class="QTreeWidget" name="pluginTreeWidget" >
+ <column>
+ <property name="text" >
+ <string>Plugin Name</string>
+ </property>
+ </column>
+ </widget>
</item>
<item>
<layout class="QHBoxLayout" >
@@ -71,10 +66,7 @@
</layout>
</item>
</layout>
- </item>
- </layout>
</widget>
- <pixmapfunction></pixmapfunction>
<resources/>
<connections>
<connection>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src/traverso PluginSelectorDialog.cpp ...,
Remon Sijrier <=