traverso-commit
[Top][All Lists]
Advanced

[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>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]