+#ifdef USE_JOGSHUTTLE
+ activateShuttleDevice();
+#endif
+ m_projectListDock->raise();
+
+ actionCollection()->addAssociatedWidget(m_clipMonitor->container());
+ actionCollection()->addAssociatedWidget(m_projectMonitor->container());
+
+ QList<QPair<QString, KAction *> > viewActions;
+ QPair <QString, KAction *> pair;
+ KAction *showTimeline = new KAction(i18n("Timeline"), this);
+ showTimeline->setCheckable(true);
+ showTimeline->setChecked(true);
+ connect(showTimeline, SIGNAL(triggered(bool)), this, SLOT(slotShowTimeline(bool)));
+
+ KMenu *viewMenu = static_cast<KMenu*>(factory()->container("dockwindows", this));
+ pair.first = showTimeline->text();
+ pair.second = showTimeline;
+ viewActions.append(pair);
+
+ QList <QDockWidget *> docks = findChildren<QDockWidget *>();
+ for (int i = 0; i < docks.count(); ++i) {
+ QDockWidget* dock = docks.at(i);
+ QAction * a = dock->toggleViewAction();
+ if (!a) continue;
+ KAction* dockInformations = new KAction(this);
+ dockInformations->setText(a->text());
+ dockInformations->setCheckable(true);
+ dockInformations->setChecked(!dock->isHidden());
+ // HACK: since QActions cannot be used in KActionCategory to allow shortcut, we create a duplicate KAction of the dock QAction and link them
+ connect(a,SIGNAL(toggled(bool)), dockInformations, SLOT(setChecked(bool)));
+ connect(dockInformations,SIGNAL(triggered(bool)), a, SLOT(trigger()));
+ pair.first = dockInformations->text();
+ pair.second = dockInformations;
+ viewActions.append(pair);
+ }
+
+ // Sort dock view action by name
+ qSort(viewActions.begin(), viewActions.end(), sortByNames);
+ // Populate view menu
+ for (int i = 0; i < viewActions.count(); ++i)
+ viewMenu->addAction(guiActions->addAction(viewActions.at(i).first, viewActions.at(i).second));
+
+ // Populate encoding profiles
+ KConfig conf("encodingprofiles.rc", KConfig::CascadeConfig, "appdata");
+ if (KdenliveSettings::proxyparams().isEmpty() || KdenliveSettings::proxyextension().isEmpty()) {
+ KConfigGroup group(&conf, "proxy");
+ QMap< QString, QString > values = group.entryMap();
+ QMapIterator<QString, QString> i(values);
+ if (i.hasNext()) {
+ i.next();
+ QString data = i.value();
+ KdenliveSettings::setProxyparams(data.section(';', 0, 0));
+ KdenliveSettings::setProxyextension(data.section(';', 1, 1));
+ }
+ }
+ if (KdenliveSettings::v4l_parameters().isEmpty() || KdenliveSettings::v4l_extension().isEmpty()) {
+ KConfigGroup group(&conf, "video4linux");
+ QMap< QString, QString > values = group.entryMap();
+ QMapIterator<QString, QString> i(values);
+ if (i.hasNext()) {
+ i.next();
+ QString data = i.value();
+ KdenliveSettings::setV4l_parameters(data.section(';', 0, 0));
+ KdenliveSettings::setV4l_extension(data.section(';', 1, 1));
+ }
+ }
+ if (KdenliveSettings::grab_parameters().isEmpty() || KdenliveSettings::grab_extension().isEmpty()) {
+ KConfigGroup group(&conf, "screengrab");
+ QMap< QString, QString > values = group.entryMap();
+ QMapIterator<QString, QString> i(values);
+ if (i.hasNext()) {
+ i.next();
+ QString data = i.value();
+ KdenliveSettings::setGrab_parameters(data.section(';', 0, 0));
+ KdenliveSettings::setGrab_extension(data.section(';', 1, 1));
+ }
+ }
+ if (KdenliveSettings::decklink_parameters().isEmpty() || KdenliveSettings::decklink_extension().isEmpty()) {
+ KConfigGroup group(&conf, "decklink");
+ QMap< QString, QString > values = group.entryMap();
+ QMapIterator<QString, QString> i(values);
+ if (i.hasNext()) {
+ i.next();
+ QString data = i.value();
+ KdenliveSettings::setDecklink_parameters(data.section(';', 0, 0));
+ KdenliveSettings::setDecklink_extension(data.section(';', 1, 1));
+ }
+ }
+
+ connect (KGlobalSettings::self(), SIGNAL(kdisplayPaletteChanged()), this, SLOT(slotChangePalette()));
+