From af70537f0d2c3b263c02213b65de2a9b8f6809d3 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Wed, 12 Jan 2011 20:49:09 +0000 Subject: [PATCH] Load layouts can now be added as combobox in toolbar svn path=/trunk/kdenlive/; revision=5318 --- src/kdenliveui.rc | 9 ++------- src/mainwindow.cpp | 17 ++++++++--------- src/mainwindow.h | 1 + 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/kdenliveui.rc b/src/kdenliveui.rc index b176f020..d173667c 100644 --- a/src/kdenliveui.rc +++ b/src/kdenliveui.rc @@ -1,6 +1,6 @@ - + Extra Toolbar @@ -159,12 +159,7 @@ - Load Layout - - - - - + diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 1cdb931b..1512c718 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -381,14 +381,18 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, const QString & // Prepare layout actions KActionCategory *layoutActions = new KActionCategory(i18n("Layouts"), actionCollection()); + m_loadLayout = new KSelectAction(i18n("Load Layout"), actionCollection()); for (int i = 1; i < 5; i++) { - KAction *load = new KAction(KIcon(), i18n("Load Layout %1").arg(i), this); + KAction *load = new KAction(KIcon(), i18n("Layout %1").arg(i), this); load->setData("_" + QString::number(i)); - layoutActions->addAction("load_layout" + QString::number(i), load); + load->setCheckable(true); + m_loadLayout->addAction(load); KAction *save = new KAction(KIcon(), i18n("Save As Layout %1").arg(i), this); save->setData("_" + QString::number(i)); layoutActions->addAction("save_layout" + QString::number(i), save); } + layoutActions->addAction("load_layouts", m_loadLayout); + connect(m_loadLayout, SIGNAL(triggered(QAction*)), this, SLOT(slotLoadLayout(QAction*))); KAction *action; // Stop motion actions. Beware of the order, we MUST use the same order in stopmotion/stopmotion.cpp @@ -417,10 +421,6 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, const QString & /*ScriptingPart* sp = new ScriptingPart(this, QStringList()); guiFactory()->addClient(sp);*/ - - QMenu *loadLayout = (QMenu*)(factory()->container("layout_load", this)); - if (loadLayout) - connect(loadLayout, SIGNAL(triggered(QAction*)), this, SLOT(slotLoadLayout(QAction*))); QMenu *saveLayout = (QMenu*)(factory()->container("layout_save_as", this)); if (saveLayout) connect(saveLayout, SIGNAL(triggered(QAction*)), this, SLOT(slotSaveLayout(QAction*))); @@ -1676,12 +1676,11 @@ void MainWindow::slotDisplayActionMessage(QAction *a) void MainWindow::loadLayouts() { QMenu *saveLayout = (QMenu*)(factory()->container("layout_save_as", this)); - QMenu *loadLayout = (QMenu*)(factory()->container("layout_load", this)); - if (loadLayout == NULL || saveLayout == NULL) return; + if (m_loadLayout == NULL || saveLayout == NULL) return; KSharedConfigPtr config = KGlobal::config(); KConfigGroup layoutGroup(config, "Layouts"); QStringList entries = layoutGroup.keyList(); - QList loadActions = loadLayout->actions(); + QList loadActions = m_loadLayout->actions(); QList saveActions = saveLayout->actions(); for (int i = 1; i < 5; i++) { // Rename the layouts actions diff --git a/src/mainwindow.h b/src/mainwindow.h index a5f22924..1e2e3ab5 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -255,6 +255,7 @@ private: KAction *m_loopZone; KAction *m_playZone; KAction *m_loopClip; + KSelectAction *m_loadLayout; StatusBarMessageLabel *m_messageLabel; QActionGroup *m_clipTypeGroup; KActionCollection *m_effectsActionCollection; -- 2.39.2