"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/mainwindow.cpp" between
shotcut-20.09.01.tar.gz and shotcut-20.09.13.tar.gz

About: Shotcut is a cross-platform (Qt) advanced video editor.

mainwindow.cpp  (shotcut-20.09.01):mainwindow.cpp  (shotcut-20.09.13)
skipping to change at line 185 skipping to change at line 185
m_autosaveTimer.setInterval(AUTOSAVE_TIMEOUT_MS); m_autosaveTimer.setInterval(AUTOSAVE_TIMEOUT_MS);
connect(&m_autosaveTimer, SIGNAL(timeout()), this, SLOT(onAutosaveTimeout()) ); connect(&m_autosaveTimer, SIGNAL(timeout()), this, SLOT(onAutosaveTimeout()) );
// Initialize all QML types // Initialize all QML types
QmlUtilities::registerCommonTypes(); QmlUtilities::registerCommonTypes();
// Create the UI. // Create the UI.
ui->setupUi(this); ui->setupUi(this);
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
// Qt 5 on OS X supports the standard Full Screen window widget. // Qt 5 on OS X supports the standard Full Screen window widget.
ui->mainToolBar->removeAction(ui->actionFullscreen);
ui->actionEnter_Full_Screen->setVisible(false); ui->actionEnter_Full_Screen->setVisible(false);
// OS X has a standard Full Screen shortcut we should use. // OS X has a standard Full Screen shortcut we should use.
ui->actionEnter_Full_Screen->setShortcut(QKeySequence((Qt::CTRL + Qt::META + Qt::Key_F))); ui->actionEnter_Full_Screen->setShortcut(QKeySequence((Qt::CTRL + Qt::META + Qt::Key_F)));
#endif #endif
setDockNestingEnabled(true); setDockNestingEnabled(true);
ui->statusBar->hide(); ui->statusBar->hide();
// Connect UI signals. // Connect UI signals.
connect(ui->actionOpen, SIGNAL(triggered()), this, SLOT(openVideo())); connect(ui->actionOpen, SIGNAL(triggered()), this, SLOT(openVideo()));
connect(ui->actionAbout_Qt, SIGNAL(triggered()), qApp, SLOT(aboutQt())); connect(ui->actionAbout_Qt, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
connect(this, SIGNAL(producerOpened()), this, SLOT(onProducerOpened())); connect(this, SIGNAL(producerOpened()), this, SLOT(onProducerOpened()));
if (ui->actionFullscreen)
connect(ui->actionFullscreen, SIGNAL(triggered()), this, SLOT(on_actionE
nter_Full_Screen_triggered()));
connect(ui->mainToolBar, SIGNAL(visibilityChanged(bool)), SLOT(onToolbarVisi bilityChanged(bool))); connect(ui->mainToolBar, SIGNAL(visibilityChanged(bool)), SLOT(onToolbarVisi bilityChanged(bool)));
// Accept drag-n-drop of files. // Accept drag-n-drop of files.
this->setAcceptDrops(true); this->setAcceptDrops(true);
// Setup the undo stack. // Setup the undo stack.
m_undoStack = new QUndoStack(this); m_undoStack = new QUndoStack(this);
m_undoStack->setUndoLimit(Settings.undoLimit()); m_undoStack->setUndoLimit(Settings.undoLimit());
QAction *undoAction = m_undoStack->createUndoAction(this); QAction *undoAction = m_undoStack->createUndoAction(this);
QAction *redoAction = m_undoStack->createRedoAction(this); QAction *redoAction = m_undoStack->createRedoAction(this);
skipping to change at line 1159 skipping to change at line 1156
void MainWindow::setFullScreen(bool isFullScreen) void MainWindow::setFullScreen(bool isFullScreen)
{ {
if (isFullScreen) { if (isFullScreen) {
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
showMaximized(); showMaximized();
#else #else
showFullScreen(); showFullScreen();
#endif #endif
ui->actionEnter_Full_Screen->setVisible(false); ui->actionEnter_Full_Screen->setVisible(false);
ui->actionFullscreen->setVisible(false);
} }
} }
QString MainWindow::untitledFileName() const QString MainWindow::untitledFileName() const
{ {
QDir dir = Settings.appDataLocation(); QDir dir = Settings.appDataLocation();
if (!dir.exists()) dir.mkpath(dir.path()); if (!dir.exists()) dir.mkpath(dir.path());
return dir.filePath("__untitled__.mlt"); return dir.filePath("__untitled__.mlt");
} }
skipping to change at line 1654 skipping to change at line 1650
Settings.setWindowGeometryDefault(saveGeometry()); Settings.setWindowGeometryDefault(saveGeometry());
Settings.setWindowStateDefault(saveState()); Settings.setWindowStateDefault(saveState());
Settings.sync(); Settings.sync();
if (!Settings.windowGeometry().isEmpty()) { if (!Settings.windowGeometry().isEmpty()) {
restoreGeometry(Settings.windowGeometry()); restoreGeometry(Settings.windowGeometry());
restoreState(Settings.windowState()); restoreState(Settings.windowState());
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
m_filtersDock->setFloating(false); m_filtersDock->setFloating(false);
#endif #endif
} else { } else {
restoreState(Settings.windowStateDefault()); restoreState(kLayoutEditingDefault);
QDockWidget* audioMeterDock = findChild<QDockWidget*>("AudioPeakMeterDoc
k");
if (audioMeterDock) {
audioMeterDock->show();
audioMeterDock->raise();
}
m_recentDock->show();
m_recentDock->raise();
m_filtersDock->show();
m_filtersDock->raise();
m_timelineDock->show();
m_timelineDock->raise();
} }
LOG_DEBUG() << "end"; LOG_DEBUG() << "end";
} }
void MainWindow::writeSettings() void MainWindow::writeSettings()
{ {
#ifndef Q_OS_MAC #ifndef Q_OS_MAC
if (isFullScreen()) if (isFullScreen())
showNormal(); showNormal();
#endif #endif
skipping to change at line 2126 skipping to change at line 2111
case Qt::Key_8: case Qt::Key_8:
case Qt::Key_9: case Qt::Key_9:
if (!event->modifiers() && m_playlistDock->isVisible() && m_playlistDock ->model()->rowCount() > 0) { if (!event->modifiers() && m_playlistDock->isVisible() && m_playlistDock ->model()->rowCount() > 0) {
m_playlistDock->raise(); m_playlistDock->raise();
m_playlistDock->setIndex(event->key() - Qt::Key_1); m_playlistDock->setIndex(event->key() - Qt::Key_1);
} }
break; break;
case Qt::Key_0: case Qt::Key_0:
if (!event->modifiers() ) { if (!event->modifiers() ) {
if (m_timelineDock->isVisible()) { if (m_timelineDock->isVisible()) {
m_timelineDock->resetZoom(); emit m_timelineDock->zoomToFit();
} else if (m_playlistDock->isVisible() && m_playlistDock->model()->r owCount() > 0) { } else if (m_playlistDock->isVisible() && m_playlistDock->model()->r owCount() > 0) {
m_playlistDock->raise(); m_playlistDock->raise();
m_playlistDock->setIndex(9); m_playlistDock->setIndex(9);
} }
} }
if (m_keyframesDock->isVisible() && (event->modifiers() & Qt::AltModifie r)) { if (m_keyframesDock->isVisible() && (event->modifiers() & Qt::AltModifie r)) {
emit m_keyframesDock->resetZoom(); emit m_keyframesDock->zoomToFit();
} }
break; break;
case Qt::Key_X: // Avid Extract case Qt::Key_X: // Avid Extract
if (event->modifiers() == Qt::ShiftModifier && m_playlistDock->model()-> rowCount() > 0) { if (event->modifiers() == Qt::ShiftModifier && m_playlistDock->model()-> rowCount() > 0) {
m_playlistDock->show(); m_playlistDock->show();
m_playlistDock->raise(); m_playlistDock->raise();
m_playlistDock->on_removeButton_clicked(); m_playlistDock->on_removeButton_clicked();
} else if (isMultitrackValid()) { } else if (isMultitrackValid()) {
m_timelineDock->show(); m_timelineDock->show();
m_timelineDock->raise(); m_timelineDock->raise();
skipping to change at line 2176 skipping to change at line 2161
m_playlistDock->on_removeButton_clicked(); m_playlistDock->on_removeButton_clicked();
} else if (isMultitrackValid() && event->modifiers() == Qt::NoModifier) { } else if (isMultitrackValid() && event->modifiers() == Qt::NoModifier) {
m_timelineDock->show(); m_timelineDock->show();
m_timelineDock->raise(); m_timelineDock->raise();
m_timelineDock->liftSelection(); m_timelineDock->liftSelection();
} }
break; break;
case Qt::Key_Minus: case Qt::Key_Minus:
if (m_timelineDock->isVisible() && !(event->modifiers() & Qt::AltModifie r)) { if (m_timelineDock->isVisible() && !(event->modifiers() & Qt::AltModifie r)) {
if (event->modifiers() & Qt::ControlModifier) if (event->modifiers() & Qt::ControlModifier)
m_timelineDock->makeTracksShorter(); emit m_timelineDock->makeTracksShorter();
else else
m_timelineDock->zoomOut(); emit m_timelineDock->zoomOut();
} }
if (m_keyframesDock->isVisible() && (event->modifiers() & Qt::AltModifie r)) { if (m_keyframesDock->isVisible() && (event->modifiers() & Qt::AltModifie r)) {
emit m_keyframesDock->zoomOut(); emit m_keyframesDock->zoomOut();
} }
break; break;
case Qt::Key_Equal: case Qt::Key_Equal:
case Qt::Key_Plus: case Qt::Key_Plus:
if (m_timelineDock->isVisible() && !(event->modifiers() & Qt::AltModifie r)) { if (m_timelineDock->isVisible() && !(event->modifiers() & Qt::AltModifie r)) {
if (event->modifiers() & Qt::ControlModifier) if (event->modifiers() & Qt::ControlModifier)
m_timelineDock->makeTracksTaller(); emit m_timelineDock->makeTracksTaller();
else else
m_timelineDock->zoomIn(); emit m_timelineDock->zoomIn();
} }
if (m_keyframesDock->isVisible() && (event->modifiers() & Qt::AltModifie r)) { if (m_keyframesDock->isVisible() && (event->modifiers() & Qt::AltModifie r)) {
emit m_keyframesDock->zoomIn(); emit m_keyframesDock->zoomIn();
} }
break; break;
case Qt::Key_Enter: // Seek to current playlist item case Qt::Key_Enter: // Seek to current playlist item
case Qt::Key_Return: case Qt::Key_Return:
if (m_playlistDock->isVisible() && m_playlistDock->position() >= 0) { if (m_playlistDock->isVisible() && m_playlistDock->position() >= 0) {
if (event->modifiers() == Qt::ShiftModifier) if (event->modifiers() == Qt::ShiftModifier)
seekPlaylist(m_playlistDock->position()); seekPlaylist(m_playlistDock->position());
skipping to change at line 2217 skipping to change at line 2202
emit renameRequested(); emit renameRequested();
break; break;
case Qt::Key_F3: case Qt::Key_F3:
onRecentDockTriggered(true); onRecentDockTriggered(true);
m_recentDock->find(); m_recentDock->find();
break; break;
case Qt::Key_F5: case Qt::Key_F5:
m_timelineDock->model()->reload(); m_timelineDock->model()->reload();
m_keyframesDock->model().reload(); m_keyframesDock->model().reload();
break; break;
case Qt::Key_F11:
on_actionEnter_Full_Screen_triggered();
break;
case Qt::Key_F12: case Qt::Key_F12:
LOG_DEBUG() << "event isAccepted:" << event->isAccepted(); LOG_DEBUG() << "event isAccepted:" << event->isAccepted();
LOG_DEBUG() << "Current focusWidget:" << QApplication::focusWidget(); LOG_DEBUG() << "Current focusWidget:" << QApplication::focusWidget();
LOG_DEBUG() << "Current focusObject:" << QApplication::focusObject(); LOG_DEBUG() << "Current focusObject:" << QApplication::focusObject();
LOG_DEBUG() << "Current focusWindow:" << QApplication::focusWindow(); LOG_DEBUG() << "Current focusWindow:" << QApplication::focusWindow();
break; break;
case Qt::Key_BracketLeft: case Qt::Key_BracketLeft:
if (filterController()->currentFilter() && m_filtersDock->qmlProducer()) { if (filterController()->currentFilter() && m_filtersDock->qmlProducer()) {
if (event->modifiers() == Qt::AltModifier) { if (event->modifiers() == Qt::AltModifier) {
emit m_keyframesDock->seekPreviousSimple(); emit m_keyframesDock->seekPreviousSimple();
skipping to change at line 3038 skipping to change at line 3026
palette.setColor(QPalette::Text, palette.color(QPalette::WindowText)); palette.setColor(QPalette::Text, palette.color(QPalette::WindowText));
palette.setColor(QPalette::BrightText, Qt::red); palette.setColor(QPalette::BrightText, Qt::red);
palette.setColor(QPalette::Button, palette.color(QPalette::Window)); palette.setColor(QPalette::Button, palette.color(QPalette::Window));
palette.setColor(QPalette::ButtonText, palette.color(QPalette::WindowTex t)); palette.setColor(QPalette::ButtonText, palette.color(QPalette::WindowTex t));
palette.setColor(QPalette::Link, palette.color(QPalette::Highlight).ligh ter()); palette.setColor(QPalette::Link, palette.color(QPalette::Highlight).ligh ter());
palette.setColor(QPalette::LinkVisited, palette.color(QPalette::Highligh t)); palette.setColor(QPalette::LinkVisited, palette.color(QPalette::Highligh t));
palette.setColor(QPalette::Disabled, QPalette::Text, Qt::darkGray); palette.setColor(QPalette::Disabled, QPalette::Text, Qt::darkGray);
palette.setColor(QPalette::Disabled, QPalette::ButtonText, Qt::darkGray) ; palette.setColor(QPalette::Disabled, QPalette::ButtonText, Qt::darkGray) ;
QApplication::setPalette(palette); QApplication::setPalette(palette);
QIcon::setThemeName("dark"); QIcon::setThemeName("dark");
QMetaObject::invokeMethod(&MAIN, "on_actionShowTextUnderIcons_toggled", Qt::QueuedConnection, Q_ARG(bool, Settings.textUnderIcons()));
} else if (theme == "light") { } else if (theme == "light") {
QStyle* style = QStyleFactory::create("Fusion"); QStyle* style = QStyleFactory::create("Fusion");
QApplication::setStyle(style); QApplication::setStyle(style);
QApplication::setPalette(style->standardPalette()); QApplication::setPalette(style->standardPalette());
QIcon::setThemeName("light"); QIcon::setThemeName("light");
QMetaObject::invokeMethod(&MAIN, "on_actionShowTextUnderIcons_toggled", Qt::QueuedConnection, Q_ARG(bool, Settings.textUnderIcons()));
} else { } else {
QApplication::setStyle(qApp->property("system-style").toString()); QApplication::setStyle(qApp->property("system-style").toString());
QIcon::setThemeName("oxygen"); QIcon::setThemeName("oxygen");
} }
emit QmlApplication::singleton().paletteChanged(); emit QmlApplication::singleton().paletteChanged();
LOG_DEBUG() << "end"; LOG_DEBUG() << "end";
} }
Mlt::Playlist* MainWindow::playlist() const Mlt::Playlist* MainWindow::playlist() const
{ {
skipping to change at line 3694 skipping to change at line 3684
} }
void MainWindow::on_actionTutorials_triggered() void MainWindow::on_actionTutorials_triggered()
{ {
QDesktopServices::openUrl(QUrl("https://www.shotcut.org/tutorials/")); QDesktopServices::openUrl(QUrl("https://www.shotcut.org/tutorials/"));
} }
void MainWindow::on_actionRestoreLayout_triggered() void MainWindow::on_actionRestoreLayout_triggered()
{ {
auto mode = Settings.layoutMode(); auto mode = Settings.layoutMode();
if (mode > LayoutMode::Custom) { if (mode != LayoutMode::Custom) {
// Clear the saved layout for this mode // Clear the saved layout for this mode
Settings.setLayout(QString(kReservedLayoutPrefix).arg(mode), QByteArray( ), QByteArray()); Settings.setLayout(QString(kReservedLayoutPrefix).arg(mode), QByteArray( ), QByteArray());
// Reset the layout mode so the current layout is saved as custom when t rigger action // Reset the layout mode so the current layout is saved as custom when t rigger action
Settings.setLayoutMode(); Settings.setLayoutMode();
switch (mode) { }
case LayoutMode::Logging: switch (mode) {
on_actionLayoutLogging_triggered(); case LayoutMode::Custom:
break; ui->actionLayoutEditing->setChecked(true);
case LayoutMode::Editing: Q_FALLTHROUGH();
on_actionLayoutEditing_triggered(); case LayoutMode::Editing:
break;
case LayoutMode::Effects:
on_actionLayoutEffects_triggered();
break;
case LayoutMode::Color:
on_actionLayoutColor_triggered();
break;
case LayoutMode::Audio:
on_actionLayoutAudio_triggered();
break;
case LayoutMode::PlayerOnly:
on_actionLayoutPlayer_triggered();
break;
}
} else {
clearCurrentLayout();
restoreState(Settings.windowStateDefault());
on_actionLayoutEditing_triggered(); on_actionLayoutEditing_triggered();
restoreState(Settings.windowStateDefault()); break;
QDockWidget* audioMeterDock = findChild<QDockWidget*>("AudioPeakMeterDoc case LayoutMode::Logging:
k"); on_actionLayoutLogging_triggered();
if (audioMeterDock) { break;
audioMeterDock->show(); case LayoutMode::Effects:
audioMeterDock->raise(); on_actionLayoutEffects_triggered();
} break;
m_recentDock->show(); case LayoutMode::Color:
m_recentDock->raise(); on_actionLayoutColor_triggered();
m_filtersDock->show(); break;
m_filtersDock->raise(); case LayoutMode::Audio:
m_timelineDock->show(); on_actionLayoutAudio_triggered();
m_timelineDock->raise(); break;
ui->actionShowTitleBars->setChecked(true); case LayoutMode::PlayerOnly:
on_actionShowTitleBars_triggered(true); on_actionLayoutPlayer_triggered();
ui->actionShowTextUnderIcons->setChecked(true); break;
on_actionShowTextUnderIcons_toggled(true);
ui->actionShowSmallIcons->setChecked(false);
on_actionShowSmallIcons_toggled(false);
} }
} }
void MainWindow::on_actionShowTitleBars_triggered(bool checked) void MainWindow::on_actionShowTitleBars_triggered(bool checked)
{ {
QList <QDockWidget *> docks = findChildren<QDockWidget *>(); QList <QDockWidget *> docks = findChildren<QDockWidget *>();
for (int i = 0; i < docks.count(); i++) { for (int i = 0; i < docks.count(); i++) {
QDockWidget* dock = docks.at(i); QDockWidget* dock = docks.at(i);
if (checked) { if (checked) {
dock->setTitleBarWidget(0); dock->setTitleBarWidget(0);
skipping to change at line 4197 skipping to change at line 4168
auto state = Settings.layoutState(QString(kReservedLayoutPrefix).arg(LayoutM ode::Logging)); auto state = Settings.layoutState(QString(kReservedLayoutPrefix).arg(LayoutM ode::Logging));
if (state.isEmpty()) { if (state.isEmpty()) {
restoreState(kLayoutLoggingDefault); restoreState(kLayoutLoggingDefault);
// setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); // setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
// setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); // setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea);
// setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); // setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
// setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); // setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
// resizeDocks({m_playlistDock, m_propertiesDock}, // resizeDocks({m_playlistDock, m_propertiesDock},
// {qFloor(width() * 0.25), qFloor(width() * 0.25)}, Qt::Horizontal); // {qFloor(width() * 0.25), qFloor(width() * 0.25)}, Qt::Horizontal);
} else { } else {
LOG_DEBUG() << state.toBase64(); // LOG_DEBUG() << state.toBase64();
restoreState(state); restoreState(state);
} }
} }
void MainWindow::on_actionLayoutEditing_triggered() void MainWindow::on_actionLayoutEditing_triggered()
{ {
Settings.setLayout(QString(kReservedLayoutPrefix).arg(Settings.layoutMode()) , QByteArray(), saveState()); Settings.setLayout(QString(kReservedLayoutPrefix).arg(Settings.layoutMode()) , QByteArray(), saveState());
Settings.setLayoutMode(LayoutMode::Editing); Settings.setLayoutMode(LayoutMode::Editing);
auto state = Settings.layoutState(QString(kReservedLayoutPrefix).arg(LayoutM ode::Editing)); auto state = Settings.layoutState(QString(kReservedLayoutPrefix).arg(LayoutM ode::Editing));
if (state.isEmpty()) { if (state.isEmpty()) {
restoreState(kLayoutEditingDefault); restoreState(kLayoutEditingDefault);
// resetDockCorners(); // resetDockCorners();
} else { } else {
LOG_DEBUG() << state.toBase64(); // LOG_DEBUG() << state.toBase64();
restoreState(state); restoreState(state);
} }
} }
void MainWindow::on_actionLayoutEffects_triggered() void MainWindow::on_actionLayoutEffects_triggered()
{ {
Settings.setLayout(QString(kReservedLayoutPrefix).arg(Settings.layoutMode()) , QByteArray(), saveState()); Settings.setLayout(QString(kReservedLayoutPrefix).arg(Settings.layoutMode()) , QByteArray(), saveState());
Settings.setLayoutMode(LayoutMode::Effects); Settings.setLayoutMode(LayoutMode::Effects);
auto state = Settings.layoutState(QString(kReservedLayoutPrefix).arg(LayoutM ode::Effects)); auto state = Settings.layoutState(QString(kReservedLayoutPrefix).arg(LayoutM ode::Effects));
if (state.isEmpty()) { if (state.isEmpty()) {
skipping to change at line 4278 skipping to change at line 4249
auto state = Settings.layoutState(QString(kReservedLayoutPrefix).arg(LayoutM ode::PlayerOnly)); auto state = Settings.layoutState(QString(kReservedLayoutPrefix).arg(LayoutM ode::PlayerOnly));
if (state.isEmpty()) { if (state.isEmpty()) {
restoreState(kLayoutPlayerDefault); restoreState(kLayoutPlayerDefault);
// resetDockCorners(); // resetDockCorners();
} else { } else {
// LOG_DEBUG() << state.toBase64(); // LOG_DEBUG() << state.toBase64();
restoreState(state); restoreState(state);
} }
} }
void MainWindow::on_actionLayoutPlaylist_triggered()
{
if (Settings.layoutMode() != LayoutMode::Custom) {
Settings.setLayout(QString(kReservedLayoutPrefix).arg(Settings.layoutMod
e()), QByteArray(), saveState());
Settings.setLayoutMode(LayoutMode::Custom);
}
clearCurrentLayout();
restoreState(Settings.windowStateDefault());
m_recentDock->show();
m_recentDock->raise();
m_playlistDock->show();
m_playlistDock->raise();
}
void MainWindow::on_actionLayoutClip_triggered()
{
if (Settings.layoutMode() != LayoutMode::Custom) {
Settings.setLayout(QString(kReservedLayoutPrefix).arg(Settings.layoutMod
e()), QByteArray(), saveState());
Settings.setLayoutMode(LayoutMode::Custom);
}
clearCurrentLayout();
restoreState(Settings.windowStateDefault());
m_recentDock->show();
m_recentDock->raise();
m_filtersDock->show();
m_filtersDock->raise();
}
void MainWindow::on_actionLayoutAdd_triggered() void MainWindow::on_actionLayoutAdd_triggered()
{ {
bool ok; bool ok;
QString name = QInputDialog::getText(this, tr("Add Custom Layout"), QString name = QInputDialog::getText(this, tr("Add Custom Layout"),
tr("Name"), QLineEdit::Normal, tr("Name"), QLineEdit::Normal,
"", &ok); "", &ok);
if (ok && !name.isEmpty()) { if (ok && !name.isEmpty()) {
if (Settings.setLayout(name, saveGeometry(), saveState())) { if (Settings.setLayout(name, saveGeometry(), saveState())) {
Settings.setLayoutMode(); Settings.setLayoutMode();
clearCurrentLayout(); clearCurrentLayout();
 End of changes. 19 change blocks. 
69 lines changed or deleted 67 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)