Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:regataos
OpenBoard
0955-shortcut-configuration.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0955-shortcut-configuration.patch of Package OpenBoard
From 2f227b50f1167d92808bb7bf42ac24ce66351951 Mon Sep 17 00:00:00 2001 From: letsfindaway <me@letsfindaway.de> Date: Tue, 2 Mar 2021 10:57:06 +0100 Subject: [PATCH 1/4] feat: configurable keyboard and mouse/tablet button shortcuts - recording of key sequences amd mouse/stylus buttons - collect actions, filtering, collision detection - persist shortcut settings - group actions instead of buttons in UBActionPalette - associate actions with MainWindow - add option to ignore Ctrl key - implement Reset to default for Shortcut tab - add built-in actions (read-only) to detect conflicts - set icon on action instead of button - assigning a shortcut in the UBShortcutManager changes actions - changing an action re-assignes the action's icon to the button - a previously set buutton icon is overwritten - setting the icon at the action avoids this --- resources/forms/preferences.ui | 169 ++++++ src/core/CMakeLists.txt | 2 + src/core/UBApplication.cpp | 33 +- src/core/UBPreferencesController.cpp | 252 ++++++++- src/core/UBPreferencesController.h | 12 + src/core/UBSettings.cpp | 19 +- src/core/UBShortcutManager.cpp | 751 +++++++++++++++++++++++++++ src/core/UBShortcutManager.h | 95 ++++ src/core/core.pri | 2 + src/gui/UBActionPalette.cpp | 22 +- src/gui/UBActionPalette.h | 6 +- src/gui/UBBackgroundPalette.cpp | 4 +- src/gui/UBDocumentNavigator.cpp | 5 +- src/gui/UBMainWindow.cpp | 3 + src/gui/UBStylusPalette.cpp | 12 +- src/gui/UBToolbarButtonGroup.cpp | 6 +- 16 files changed, 1363 insertions(+), 30 deletions(-) create mode 100644 src/core/UBShortcutManager.cpp create mode 100644 src/core/UBShortcutManager.h diff --git a/resources/forms/preferences.ui b/resources/forms/preferences.ui index 4f6facbeb..895721629 100644 --- a/resources/forms/preferences.ui +++ b/resources/forms/preferences.ui @@ -1105,6 +1105,175 @@ </item> </layout> </widget> + <widget class="QWidget" name="shortcutTab"> + <attribute name="title"> + <string>Shortcut</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <widget class="QLineEdit" name="filter"> + <property name="placeholderText"> + <string>Filter</string> + </property> + </widget> + </item> + <item> + <widget class="QScrollArea" name="shortcutScrollArea"> + <property name="widgetResizable"> + <bool>true</bool> + </property> + <widget class="QWidget" name="scrollAreaWidgetContents"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>789</width> + <height>447</height> + </rect> + </property> + <layout class="QVBoxLayout" name="verticalLayout_41"> + <item> + <widget class="QTableView" name="shortcutTableView"> + <property name="editTriggers"> + <set>QAbstractItemView::NoEditTriggers</set> + </property> + <property name="showDropIndicator" stdset="0"> + <bool>false</bool> + </property> + <property name="selectionMode"> + <enum>QAbstractItemView::SingleSelection</enum> + </property> + <property name="selectionBehavior"> + <enum>QAbstractItemView::SelectRows</enum> + </property> + <property name="showGrid"> + <bool>false</bool> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + <attribute name="horizontalHeaderCascadingSectionResizes"> + <bool>true</bool> + </attribute> + <attribute name="verticalHeaderVisible"> + <bool>false</bool> + </attribute> + <attribute name="verticalHeaderMinimumSectionSize"> + <number>25</number> + </attribute> + <attribute name="verticalHeaderDefaultSectionSize"> + <number>25</number> + </attribute> + </widget> + </item> + </layout> + </widget> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_11"> + <item> + <widget class="QCheckBox" name="noCtrl"> + <property name="text"> + <string>Active keyboard shortcuts without pressing Ctrl key</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QGroupBox" name="shortcutsGroupBox"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="title"> + <string>Shortcuts</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <layout class="QGridLayout" name="gridLayout_20"> + <item row="3" column="0" colspan="2"> + <widget class="QLabel" name="report"> + <property name="styleSheet"> + <string notr="true">color: red;</string> + </property> + <property name="textFormat"> + <enum>Qt::PlainText</enum> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QLineEdit" name="stylusButton"> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="2"> + <widget class="QPushButton" name="abortButton"> + <property name="text"> + <string>Abort</string> + </property> + </widget> + </item> + <item row="0" column="2"> + <widget class="QPushButton" name="recordButton"> + <property name="text"> + <string>Record</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_5"> + <property name="text"> + <string>Stylus Button</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>Mouse Button</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="mouseButton"> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="keySequence"> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="2" column="2"> + <widget class="QPushButton" name="resetButton"> + <property name="text"> + <string>Reset</string> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>Key Sequence</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + </widget> <widget class="QWidget" name="thirdPartyLicence"> <property name="enabled"> <bool>true</bool> diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index eda1052a9..e76d7f928 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -33,6 +33,8 @@ target_sources(${PROJECT_NAME} PRIVATE UBSetting.h UBSettings.cpp UBSettings.h + UBShortcutManager.cpp + UBShortcutManager.h UBTextTools.cpp UBTextTools.h ) diff --git a/src/core/UBApplication.cpp b/src/core/UBApplication.cpp index eba18f7ba..4f04a69bd 100644 --- a/src/core/UBApplication.cpp +++ b/src/core/UBApplication.cpp @@ -45,6 +45,7 @@ #include "UBPreferencesController.h" #include "UBIdleTimer.h" #include "UBApplicationController.h" +#include "UBShortcutManager.h" #include "board/UBBoardController.h" #include "board/UBDrawingController.h" @@ -649,14 +650,14 @@ bool UBApplication::eventFilter(QObject *obj, QEvent *event) } } - if (event->type() == QEvent::TabletLeaveProximity) + else if (event->type() == QEvent::TabletLeaveProximity) { if (boardController && boardController->controlView()) boardController->controlView()->forcedTabletRelease(); } - if (event->type() == QEvent::ApplicationActivate) + else if (event->type() == QEvent::ApplicationActivate) { boardController->controlView()->setMultiselection(false); @@ -674,6 +675,34 @@ bool UBApplication::eventFilter(QObject *obj, QEvent *event) #endif } + else if (event->type() == QEvent::MouseButtonPress) + { + // intercept special mouse buttons for shortcut handler + QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event); + Qt::MouseButton button = mouseEvent->button(); + + if (button != Qt::LeftButton && button != Qt::RightButton) + { + return mPreferencesController->handleMouseEvent(mouseEvent) + || UBShortcutManager::shortcutManager()->handleMouseEvent(mouseEvent) + || result; + } + } + + else if (event->type() == QEvent::TabletPress) + { + // intercept special tablet buttons for shortcut handler + QTabletEvent *tabletEvent = static_cast<QTabletEvent *>(event); + Qt::MouseButton button = tabletEvent->button(); + + if (button != Qt::LeftButton) + { + return mPreferencesController->handleTabletEvent(tabletEvent) + || UBShortcutManager::shortcutManager()->handleTabletEvent(tabletEvent) + || result; + } + } + return result; } diff --git a/src/core/UBPreferencesController.cpp b/src/core/UBPreferencesController.cpp index 798889881..e8d434173 100644 --- a/src/core/UBPreferencesController.cpp +++ b/src/core/UBPreferencesController.cpp @@ -37,6 +37,7 @@ #include "core/UBSetting.h" #include "core/UBApplicationController.h" #include "core/UBDisplayManager.h" +#include "core/UBShortcutManager.h" #include "frameworks/UBStringUtils.h" @@ -72,7 +73,6 @@ void UBPreferencesDialog::closeEvent(QCloseEvent* e) } - UBPreferencesController::UBPreferencesController(QWidget *parent) : QObject(parent) , mPreferencesWindow(0) @@ -88,6 +88,8 @@ UBPreferencesController::UBPreferencesController(QWidget *parent) adjustScreensPreferences(); connect(UBApplication::displayManager, &UBDisplayManager::availableScreenCountChanged, this, &UBPreferencesController::adjustScreensPreferences); + mPreferencesUI->shortcutTab->installEventFilter(this); + wire(); } @@ -103,6 +105,90 @@ UBPreferencesController::~UBPreferencesController() delete mMarkerProperties; } +bool UBPreferencesController::handleKeyEvent(QKeyEvent *event) +{ + if (!mPreferencesUI->recordButton->isChecked() + || mPreferencesUI->mainTabWidget->currentWidget() != mPreferencesUI->shortcutTab) + { + return false; + } + + int key = event->key(); + Qt::KeyboardModifiers mods = event->modifiers(); + QString text = event->text(); + + int keys = mods; + + if (key < Qt::Key_Shift || key > Qt::Key_Alt) + { + keys += key; + } + + // compose key sequence from active modifiers and key + QKeySequence keySequence(keys); + QString keyString = keySequence.toString(); + mPreferencesUI->keySequence->setText(keyString); + + if (currentIndex.isValid()) + { + bool ok = UBShortcutManager::shortcutManager()->checkData(currentIndex.siblingAtColumn(2), keyString); + applyShortcutFilter(ok ? mPreferencesUI->filter->text() : keyString, ok ? -1 : 2); + mPreferencesUI->recordButton->setEnabled(ok); + mPreferencesUI->report->setText(ok ? "" : tr("Key sequence already in use")); + mPreferencesUI->noCtrl->setEnabled(!UBShortcutManager::shortcutManager()->hasCtrlConflicts(keySequence)); + } + + return true; +} + +bool UBPreferencesController::handleMouseEvent(QMouseEvent *event) +{ + if (!mPreferencesUI->recordButton->isChecked() + || mPreferencesUI->mainTabWidget->currentWidget() != mPreferencesUI->shortcutTab) + { + return false; + } + + Qt::MouseButton button = event->button(); + + if (currentIndex.isValid()) + { + QString buttonName = UBShortcutManager::buttonName(button); + mPreferencesUI->mouseButton->setText(buttonName); + bool ok = UBShortcutManager::shortcutManager()->checkData(currentIndex.siblingAtColumn(3), buttonName); + applyShortcutFilter(ok ? mPreferencesUI->filter->text() : buttonName, ok ? -1 : 3); + mPreferencesUI->recordButton->setEnabled(ok); + mPreferencesUI->report->setText(ok ? "" : tr("Mouse button already in use")); + return true; + } + + return false; +} + +bool UBPreferencesController::handleTabletEvent(QTabletEvent *event) +{ + if (!mPreferencesUI->recordButton->isChecked() + || mPreferencesUI->mainTabWidget->currentWidget() != mPreferencesUI->shortcutTab) + { + return false; + } + + Qt::MouseButton button = event->button(); + + if (currentIndex.isValid()) + { + QString buttonName = UBShortcutManager::buttonName(button); + mPreferencesUI->stylusButton->setText(buttonName); + bool ok = UBShortcutManager::shortcutManager()->checkData(currentIndex.siblingAtColumn(4), buttonName); + applyShortcutFilter(ok ? mPreferencesUI->filter->text() : buttonName, ok ? -1 : 4); + mPreferencesUI->recordButton->setEnabled(ok); + mPreferencesUI->report->setText(ok ? "" : tr("Stylus button already in use")); + return true; + } + + return false; +} + void UBPreferencesController::adjustScreensPreferences() { bool enabled = UBApplication::displayManager->numScreens() > 1; @@ -139,6 +225,50 @@ void UBPreferencesController::adjustScreensPreferences() } } +void UBPreferencesController::applyShortcutFilter(const QString &filter, int filterCol) +{ + // go throug rows in reverse direction + QAbstractItemModel* model = mPreferencesUI->shortcutTableView->model(); + QModelIndex index = model->index(0, 0); + bool groupVisible = false; + int minCol = filterCol < 0 ? 0 : filterCol; + int maxCol = filterCol < 0 ? model->columnCount() : filterCol + 1; + + for (int row = model->rowCount() - 1; row >= 0; --row) + { + QModelIndex rowIndex = index.siblingAtRow(row); + bool match = false; + bool header = model->data(rowIndex, UBShortcutManager::GroupHeaderRole).toBool(); + + if (header) + { + match = groupVisible; + groupVisible = false; + } + else if (currentIndex.isValid() && currentIndex.row() == row) + { + match = true; + groupVisible = true; + } + else + { + for (int col = minCol; col < maxCol; ++col) + { + QModelIndex colIndex = rowIndex.siblingAtColumn(col); + + if (model->data(colIndex).toString().contains(filter, Qt::CaseInsensitive)) + { + match = true; + groupVisible = true; + break; + } + } + } + + mPreferencesUI->shortcutTableView->setRowHidden(row, !match); + } +} + void UBPreferencesController::show() { init(); @@ -297,6 +427,21 @@ void UBPreferencesController::wire() connect(mPreferencesUI->checkSoftwareUpdateAtLaunchCheckBox, SIGNAL(clicked(bool)), settings->appEnableAutomaticSoftwareUpdates, SLOT(setBool(bool))); connect(mPreferencesUI->checkOpenSankoreAtStartup, SIGNAL(clicked(bool)), settings->appLookForOpenSankoreInstall, SLOT(setBool(bool))); + + // shortcut tab + connect(mPreferencesUI->shortcutTableView, SIGNAL(activated(const QModelIndex&)), this, SLOT(actionSelected(const QModelIndex&))); + connect(mPreferencesUI->filter, SIGNAL(textChanged(const QString&)), this, SLOT(applyShortcutFilter(const QString&))); + connect(mPreferencesUI->recordButton, SIGNAL(clicked(bool)), this, SLOT(recordingClicked(bool))); + connect(mPreferencesUI->abortButton, SIGNAL(clicked()), this, SLOT(abortClicked())); + connect(mPreferencesUI->resetButton, SIGNAL(clicked()), this, SLOT(resetClicked())); + connect(mPreferencesUI->noCtrl, &QCheckBox::toggled, UBShortcutManager::shortcutManager(), &UBShortcutManager::ignoreCtrl); + connect(mPreferencesUI->mainTabWidget, &QTabWidget::currentChanged, [this](int tab){ + auto shortcutTab = mPreferencesUI->mainTabWidget->indexOf(mPreferencesUI->shortcutTab); + + if (tab != shortcutTab) { + abortClicked(); + } + }); } void UBPreferencesController::init() @@ -357,6 +502,27 @@ void UBPreferencesController::init() mMarkerProperties->opacitySlider->setValue(settings->boardMarkerAlpha->get().toDouble() * 100); + // shortcut tab + mPreferencesUI->shortcutTableView->setModel(UBShortcutManager::shortcutManager()); + mPreferencesUI->shortcutTableView->horizontalHeader()->setModel(UBShortcutManager::shortcutManager()); + mPreferencesUI->shortcutTableView->horizontalHeader()->resizeSection(0, 150); + mPreferencesUI->shortcutTableView->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch); + mPreferencesUI->noCtrl->setChecked(settings->value("Shortcut/IgnoreCtrl").toBool()); + mPreferencesUI->noCtrl->setEnabled(!UBShortcutManager::shortcutManager()->hasCtrlConflicts()); +} + +bool UBPreferencesController::eventFilter(QObject *obj, QEvent *event) +{ + if (event->type() == QEvent::KeyPress) + { + QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); + return handleKeyEvent(keyEvent); + } + else + { + // standard event processing + return QObject::eventFilter(obj, event); + } } void UBPreferencesController::close() @@ -455,7 +621,8 @@ void UBPreferencesController::defaultSettings() mPreferencesUI->checkOpenSankoreAtStartup->setChecked(defaultValue); } - else if(mPreferencesUI->mainTabWidget->currentWidget() == mPreferencesUI->networkTab){ + else if(mPreferencesUI->mainTabWidget->currentWidget() == mPreferencesUI->networkTab) + { bool defaultValue = settings->webUseExternalBrowser->reset().toBool(); mPreferencesUI->useExternalBrowserCheckBox->setChecked(defaultValue); defaultValue = settings->webShowPageImmediatelyOnMirroredScreen->reset().toBool(); @@ -490,6 +657,23 @@ void UBPreferencesController::defaultSettings() lightBackgroundCrossOpacityValueChanged(lightBackgroundOpacity); } + else if(mPreferencesUI->mainTabWidget->currentWidget() == mPreferencesUI->shortcutTab) + { + if (mPreferencesUI->recordButton->isChecked()) + { + abortClicked(); + } + + UBShortcutManager* sm = UBShortcutManager::shortcutManager(); + + for (int row = 0; row < sm->rowCount(); ++row) + { + QModelIndex rowIndex = sm->index(row, 0); + sm->resetData(rowIndex); + } + + resetClicked(); + } } void UBPreferencesController::darkBackgroundCrossOpacityValueChanged(int value) @@ -712,6 +896,70 @@ void UBPreferencesController::setPdfZoomBehavior(bool checked) } } +void UBPreferencesController::actionSelected(const QModelIndex &index) +{ + currentIndex = index; + UBShortcutManager* sm = UBShortcutManager::shortcutManager(); + mPreferencesUI->keySequence->setText(sm->data(index.siblingAtColumn(2), UBShortcutManager::PrimaryShortcutRole).toString()); + mPreferencesUI->mouseButton->setText(sm->data(index.siblingAtColumn(3)).toString()); + mPreferencesUI->stylusButton->setText(sm->data(index.siblingAtColumn(4)).toString()); + + bool isAction = sm->data(index, UBShortcutManager::ActionRole).toBool(); + mPreferencesUI->recordButton->setEnabled(true); + mPreferencesUI->shortcutsGroupBox->setEnabled(isAction); +} + +void UBPreferencesController::recordingClicked(bool checked) +{ + if (!checked && currentIndex.isValid()) + { + UBShortcutManager* sm = UBShortcutManager::shortcutManager(); + sm->setData(currentIndex.siblingAtColumn(2), mPreferencesUI->keySequence->text()); + sm->setData(currentIndex.siblingAtColumn(3), sm->buttonIndex(mPreferencesUI->mouseButton->text())); + sm->setData(currentIndex.siblingAtColumn(4), sm->buttonIndex(mPreferencesUI->stylusButton->text())); + } + + mPreferencesUI->shortcutTableView->setSelectionMode(checked ? QTableView::NoSelection : QTableView::SingleSelection); + mPreferencesUI->recordButton->setText(checked ? tr("Accept", "preferencesDialog") : tr("Record", "preferencesDialog")); +} + +void UBPreferencesController::abortClicked() +{ + applyShortcutFilter(mPreferencesUI->filter->text()); + + mPreferencesUI->recordButton->setEnabled(true); + mPreferencesUI->recordButton->setChecked(false); + mPreferencesUI->recordButton->setText(tr("Record", "preferencesDialog")); + mPreferencesUI->shortcutTableView->setSelectionMode(QTableView::SingleSelection); + mPreferencesUI->shortcutTableView->clearSelection(); + mPreferencesUI->report->setText(""); + mPreferencesUI->noCtrl->setEnabled(!UBShortcutManager::shortcutManager()->hasCtrlConflicts()); + actionSelected(mPreferencesUI->shortcutTableView->model()->index(0, 0)); +} + +void UBPreferencesController::resetClicked() +{ + if (mPreferencesUI->recordButton->isChecked()) + { + abortClicked(); + } + + if (currentIndex.isValid()) + { + UBShortcutManager* sm = UBShortcutManager::shortcutManager(); + + sm->resetData(currentIndex); + applyShortcutFilter(mPreferencesUI->filter->text()); + + mPreferencesUI->keySequence->setText(sm->data(currentIndex.siblingAtColumn(2)).toString()); + mPreferencesUI->mouseButton->setText(sm->data(currentIndex.siblingAtColumn(3)).toString()); + mPreferencesUI->stylusButton->setText(sm->data(currentIndex.siblingAtColumn(4)).toString()); + } + + mPreferencesUI->report->setText(""); + mPreferencesUI->noCtrl->setEnabled(!UBShortcutManager::shortcutManager()->hasCtrlConflicts()); +} + UBBrushPropertiesFrame::UBBrushPropertiesFrame(QFrame* owner, const QList<QColor>& lightBackgroundColors, const QList<QColor>& darkBackgroundColors, const QList<QColor>& lightBackgroundSelectedColors, const QList<QColor>& darkBackgroundSelectedColors, UBPreferencesController* controller) diff --git a/src/core/UBPreferencesController.h b/src/core/UBPreferencesController.h index e260646d3..afc9b8c6f 100644 --- a/src/core/UBPreferencesController.h +++ b/src/core/UBPreferencesController.h @@ -70,6 +70,9 @@ class UBPreferencesController : public QObject UBPreferencesController(QWidget *parent); virtual ~UBPreferencesController(); + bool handleKeyEvent(QKeyEvent *event); + bool handleMouseEvent(QMouseEvent *event); + bool handleTabletEvent(QTabletEvent *event); public slots: @@ -80,6 +83,8 @@ class UBPreferencesController : public QObject void wire(); void init(); + virtual bool eventFilter(QObject* obj, QEvent* event) Q_DECL_OVERRIDE; + UBPreferencesDialog* mPreferencesWindow; Ui::preferencesDialog* mPreferencesUI; UBBrushPropertiesFrame* mPenProperties; @@ -105,14 +110,21 @@ class UBPreferencesController : public QObject void toolbarOrientationHorizontal(bool checked); void systemOSKCheckBoxToggled(bool checked); void setPdfZoomBehavior(bool checked); + void actionSelected(const QModelIndex& index); + void recordingClicked(bool checked); + void abortClicked(); + void resetClicked(); private slots: void adjustScreensPreferences(); + void applyShortcutFilter(const QString& filter, int filterCol = -1); + private: static qreal sSliderRatio; static qreal sMinPenWidth; static qreal sMaxPenWidth; + QModelIndex currentIndex; }; class UBBrushPropertiesFrame : public Ui::brushProperties diff --git a/src/core/UBSettings.cpp b/src/core/UBSettings.cpp index bb7fe2ea0..e6f2a890b 100644 --- a/src/core/UBSettings.cpp +++ b/src/core/UBSettings.cpp @@ -544,17 +544,32 @@ void UBSettings::save() * We save the setting to the user settings if * a) it is different from the (non-null) value stored in the user settings, or * b) it doesn't currently exist in the user settings AND has changed from the app settings + * An invalid value indicates removal of the setting */ if (mUserSettings->contains(it.key()) && it.value() != mUserSettings->value(it.key())) { - mUserSettings->setValue(it.key(), it.value()); + if (it.value().isValid()) + { + mUserSettings->setValue(it.key(), it.value()); + } + else + { + mUserSettings->remove(it.key()); + } } else if (!mUserSettings->contains(it.key()) && it.value() != mAppSettings->value(it.key())) { - mUserSettings->setValue(it.key(), it.value()); + if (it.value().isValid()) + { + mUserSettings->setValue(it.key(), it.value()); + } + else + { + mUserSettings->remove(it.key()); + } } ++it; diff --git a/src/core/UBShortcutManager.cpp b/src/core/UBShortcutManager.cpp new file mode 100644 index 000000000..9e74e9c2b --- /dev/null +++ b/src/core/UBShortcutManager.cpp @@ -0,0 +1,751 @@ +/* + * Copyright (C) 2015-2018 Département de l'Instruction Publique (DIP-SEM) + * + * Copyright (C) 2013 Open Education Foundation + * + * Copyright (C) 2010-2013 Groupement d'Intérêt Public pour + * l'Education Numérique en Afrique (GIP ENA) + * + * This file is part of OpenBoard. + * + * OpenBoard is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3 of the License, + * with a specific linking exception for the OpenSSL project's + * "OpenSSL" library (or with modified versions of it that use the + * same license as the "OpenSSL" library). + * + * OpenBoard is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OpenBoard. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "UBShortcutManager.h" +#include "core/UBSettings.h" +#include "frameworks/UBPlatformUtils.h" +#include "gui/UBMainWindow.h" + +#include <QAction> +#include <QDebug> +#include <QWidget> + +// property names +static const char* defaultShortcutProperty("defaultShortcut"); +static const char* descriptionProperty("description"); +static const char* mouseButtonProperty("mouseButton"); +static const char* tabletButtonProperty("tabletButton"); + +UBShortcutManager* UBShortcutManager::sShortcutManager = nullptr; + +UBShortcutManager::UBShortcutManager() : mIgnoreCtrl(false) +{ + actionsOfGroup(QObject::tr("Common")); +} + +UBShortcutManager *UBShortcutManager::shortcutManager() +{ + if (!sShortcutManager) + { + sShortcutManager = new UBShortcutManager; + } + + return sShortcutManager; +} + +void UBShortcutManager::addActions(const QString& group, const QList<QAction*> actions, QWidget *widget) +{ + // save default shortcuts for later + for (QAction* action : actions) + { + if (!action->isSeparator()) + { + if (widget && !widget->actions().contains(action)) + { + // associate actions with widget to make sure they are triggered when this widget is visible + widget->addAction(action); + } + + QKeySequence shortcut = action->shortcut(); + + if (!shortcut.isEmpty()) + { + action->setProperty(defaultShortcutProperty, shortcut.toString()); + } + + action->setProperty(descriptionProperty, action->toolTip()); + + QStringList settings = UBSettings::settings()->value("Shortcut/" + action->objectName()).toStringList(); + + if (settings.size() == 3) + { + if (!settings[0].isEmpty()) + { + action->setShortcut(settings[0]); + } + + if (int button = settings[1].toInt()) + { + action->setProperty(mouseButtonProperty, button); + mMouseActions[static_cast<Qt::MouseButton>(button)] = action; + } + + if (int button = settings[2].toInt()) + { + action->setProperty(tabletButtonProperty, button); + mTabletActions[static_cast<Qt::MouseButton>(button)] = action; + } + } + + QString oldGroup = groupOfAction(action); + + if (oldGroup.isEmpty()) { + actionsOfGroup(group) << action; + } + else + { + // remove from oldGroup, add to Common, which is always first group + actionsOfGroup(oldGroup).removeAll(action); + mActionGroups[0].second << action; + } + } + } +} + +void UBShortcutManager::addMainActions(UBMainWindow *mainWindow) +{ + addActions(tr("Common"), { + mainWindow->actionStylus, + mainWindow->actionBoard, + mainWindow->actionWeb, + mainWindow->actionDocument, + mainWindow->actionDesktop, + mainWindow->actionLibrary, + mainWindow->actionVirtualKeyboard, + mainWindow->actionOpenTutorial, + mainWindow->actionHideApplication, + mainWindow->actionCut, + mainWindow->actionCopy, + mainWindow->actionPaste, + mainWindow->actionQuit + }, mainWindow); + + addActions(tr("Board"), { + mainWindow->actionUndo, + mainWindow->actionRedo, + mainWindow->actionNewPage, + mainWindow->actionDuplicatePage, + mainWindow->actionImportPage, + mainWindow->actionBack, + mainWindow->actionForward, + mainWindow->actionAdd, + mainWindow->actionClearPage, + mainWindow->actionEraseItems, + mainWindow->actionEraseAnnotations, + mainWindow->actionEraseBackground + }, mainWindow); + + addActions(tr("Stylus Palette"),{ + mainWindow->actionPen, + mainWindow->actionEraser, + mainWindow->actionMarker, + mainWindow->actionSelector, + mainWindow->actionPlay, + + mainWindow->actionHand, + mainWindow->actionZoomIn, + mainWindow->actionZoomOut, + + mainWindow->actionPointer, + mainWindow->actionLine, + mainWindow->actionText, + mainWindow->actionCapture + }, mainWindow); + + if(UBPlatformUtils::hasVirtualKeyboard()) + { + addActions(tr("Stylus Palette"),{ mainWindow->actionVirtualKeyboard }, mainWindow); + } + + addActions(tr("Lines and colours"), { + mainWindow->actionLineSmall, + mainWindow->actionLineMedium, + mainWindow->actionLineLarge, + mainWindow->actionEraserSmall, + mainWindow->actionEraserMedium, + mainWindow->actionEraserLarge, + mainWindow->actionColor0, + mainWindow->actionColor1, + mainWindow->actionColor2, + mainWindow->actionColor3, + mainWindow->actionColor4 + }, mainWindow); + + addActions(tr("Background"), { + mainWindow->actionBackgrounds, + mainWindow->actionPlainLightBackground, + mainWindow->actionCrossedLightBackground, + mainWindow->actionRuledLightBackground, + mainWindow->actionPlainDarkBackground, + mainWindow->actionCrossedDarkBackground, + mainWindow->actionRuledDarkBackground, + mainWindow->actionDefaultGridSize, + mainWindow->actionDrawIntermediateGridLines + }, mainWindow); + + addActions(tr("Podcast"), { + mainWindow->actionPodcastRecord //, + // mainWindow->actionPodcastPause currently not activated in UBPodcastRecordingPalette + }, mainWindow); + + // add builtIn actions + QList<QAction*> actions; + + QAction* action = new QAction(this); + action->setText(mainWindow->actionBack->text()); + action->setToolTip(mainWindow->actionBack->toolTip()); + action->setShortcuts( { QKeySequence(Qt::Key_Up), QKeySequence(Qt::Key_PageUp), QKeySequence(Qt::Key_Left) } ); + action->setProperty("builtIn", true); + actions << action; + + action = new QAction(this); + action->setText(mainWindow->actionForward->text()); + action->setToolTip(mainWindow->actionForward->toolTip()); + action->setShortcuts( { QKeySequence(Qt::Key_Down), QKeySequence(Qt::Key_PageDown), QKeySequence(Qt::Key_Right), QKeySequence(Qt::Key_Space) } ); + action->setProperty("builtIn", true); + actions << action; + + action = new QAction(this); + action->setText(tr("First scene")); + action->setToolTip(tr("Show first scene")); + action->setShortcuts( { QKeySequence(Qt::Key_Home) } ); + action->setProperty("builtIn", true); + actions << action; + + action = new QAction(this); + action->setText(tr("Last scene")); + action->setToolTip(tr("Show last scene")); + action->setShortcuts( { QKeySequence(Qt::Key_End) } ); + action->setProperty("builtIn", true); + actions << action; + + action = new QAction(this); + action->setText(mainWindow->actionNewPage->text()); + action->setToolTip(mainWindow->actionNewPage->toolTip()); + action->setShortcuts( { QKeySequence(Qt::Key_Insert) } ); + action->setProperty("builtIn", true); + actions << action; + + action = new QAction(this); + action->setText(mainWindow->actionZoomIn->text()); + action->setToolTip(mainWindow->actionZoomIn->toolTip()); + action->setShortcuts( { QKeySequence(Qt::CTRL | Qt::Key_Plus) } ); + action->setProperty("builtIn", true); + actions << action; + + action = new QAction(this); + action->setText(mainWindow->actionZoomOut->text()); + action->setToolTip(mainWindow->actionZoomOut->toolTip()); + action->setShortcuts( { QKeySequence(Qt::CTRL | Qt::Key_Minus) } ); + action->setProperty("builtIn", true); + actions << action; + + action = new QAction(this); + action->setText(tr("Zoom reset")); + action->setToolTip(tr("Reset zoom factor")); + action->setShortcuts( { QKeySequence(Qt::CTRL | Qt::Key_0) } ); + action->setProperty("builtIn", true); + actions << action; + + action = new QAction(this); + action->setText(tr("Scroll left")); + action->setToolTip(tr("Scroll page left")); + action->setShortcuts( { QKeySequence(Qt::CTRL | Qt::Key_Left) } ); + action->setProperty("builtIn", true); + actions << action; + + action = new QAction(this); + action->setText(tr("Scroll right")); + action->setToolTip(tr("Scroll page right")); + action->setShortcuts( { QKeySequence(Qt::CTRL | Qt::Key_Right) } ); + action->setProperty("builtIn", true); + actions << action; + + action = new QAction(this); + action->setText(tr("Scroll up")); + action->setToolTip(tr("Scroll page up")); + action->setShortcuts( { QKeySequence(Qt::CTRL | Qt::Key_Up) } ); + action->setProperty("builtIn", true); + actions << action; + + action = new QAction(this); + action->setText(tr("Scroll down")); + action->setToolTip(tr("Scroll page down")); + action->setShortcuts( { QKeySequence(Qt::CTRL | Qt::Key_Down) } ); + action->setProperty("builtIn", true); + actions << action; + + addActions(tr("Built-in (not editable)"), actions); + + // load ignoreCtrl setting + ignoreCtrl(UBSettings::settings()->value("Shortcut/IgnoreCtrl").toBool()); +} + +bool UBShortcutManager::handleMouseEvent(QMouseEvent *event) +{ + if (mMouseActions.contains(event->button())) + { + QAction* action = mMouseActions[event->button()]; + + if (!action->isCheckable() || !action->actionGroup() || !action->isChecked()) + { + action->trigger(); + } + + return true; + } + + return false; +} + +bool UBShortcutManager::handleTabletEvent(QTabletEvent *event) +{ + if (mTabletActions.contains(event->button())) + { + QAction* action = mTabletActions[event->button()]; + + if (!action->isCheckable() || !action->actionGroup() || !action->isChecked()) + { + action->trigger(); + } + + return true; + } + + return false; +} + +int UBShortcutManager::rowCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + + int rows = 0; + + for (auto& actionGroup : mActionGroups) + { + ++rows; + rows += actionGroup.second.size(); + } + + return rows; +} + +int UBShortcutManager::columnCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + return 5; +} + +QVariant UBShortcutManager::data(const QModelIndex &index, int role) const +{ + QString group; + QAction* action = getAction(index, &group); + + switch (role) + { + case Qt::DisplayRole: + case Qt::ToolTipRole: + switch (index.column()) + { + case 0: + return action ? action->text() : group; + + case 1: + return action ? action->property(descriptionProperty) : ""; + + case 2: + { + if (!action) + { + return ""; + } + + QStringList result; + + for (const QKeySequence& shortcut : action->shortcuts()) + { + result << shortcut.toString(); + } + + return result.join(", "); + } + + case 3: + return action ? buttonName(static_cast<Qt::MouseButton>(action->property(mouseButtonProperty).toInt())) : QVariant(); + + case 4: + return action ? buttonName(static_cast<Qt::MouseButton>(action->property(tabletButtonProperty).toInt())) : QVariant(); + } + break; + + case Qt::FontRole: + { + QFont groupFont; + groupFont.setBold(true); + groupFont.setItalic(true); + + QFont disabledFont; + disabledFont.setItalic(true); + + return action ? (action->property("builtIn").toBool() ? disabledFont : QVariant()) : groupFont; + } + + case UBShortcutManager::ActionRole: + return action && !action->property("builtIn").toBool(); + + case UBShortcutManager::GroupHeaderRole: + return !action; + + case UBShortcutManager::PrimaryShortcutRole: + return (index.column() == 2 && action) ? action->shortcut().toString() : QVariant(); + + case Qt::DecorationRole: + case Qt::EditRole: + case Qt::StatusTipRole: + case Qt::WhatsThisRole: + case Qt::SizeHintRole: + case Qt::TextAlignmentRole: + case Qt::BackgroundRole: + case Qt::ForegroundRole: + case Qt::CheckStateRole: + case Qt::InitialSortOrderRole: + return QVariant(); + } + + return QVariant(); +} + +QVariant UBShortcutManager::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (orientation == Qt::Orientation::Horizontal && role == Qt::DisplayRole) + { + switch (section) + { + case 0: + return tr("Command"); + + case 1: + return tr("Description"); + + case 2: + return tr("Key Sequence"); + + case 3: + return tr("Mouse Button"); + + case 4: + return tr("Tablet Button"); + } + } + + return QVariant(); +} + +bool UBShortcutManager::setData(const QModelIndex &index, const QVariant &value, int role) +{ + Q_UNUSED(role) + + if (!index.isValid()) + { + return false; + } + + QAction* action = getAction(index); + + switch (index.column()) + { + case 2: + { + QKeySequence keySequence(value.toString()); + + action->setShortcut(keySequence); + updateSettings(action); + emit dataChanged(index, index); + return true; + } + + case 3: + action->setProperty(mouseButtonProperty, value); + mMouseActions[static_cast<Qt::MouseButton>(value.toInt())] = action; + updateSettings(action); + emit dataChanged(index, index); + return true; + + case 4: + action->setProperty(tabletButtonProperty, value); + mTabletActions[static_cast<Qt::MouseButton>(value.toInt())] = action; + updateSettings(action); + emit dataChanged(index, index); + return true; + } + + return false; +} + +bool UBShortcutManager::resetData(const QModelIndex &index) +{ + QAction* action = getAction(index); + + if (action) + { + QKeySequence shortcut(action->property(defaultShortcutProperty).toString()); + action->setShortcut(shortcut); + mMouseActions.remove(static_cast<Qt::MouseButton>(action->property(mouseButtonProperty).toInt())); + mTabletActions.remove(static_cast<Qt::MouseButton>(action->property(tabletButtonProperty).toInt())); + action->setProperty(mouseButtonProperty, QVariant()); + action->setProperty(tabletButtonProperty, QVariant()); + updateSettings(action); + emit dataChanged(index.siblingAtColumn(2), index.siblingAtColumn(4)); + return true; + } + + return false; +} + +bool UBShortcutManager::checkData(const QModelIndex &index, const QVariant &value) const +{ + int col = index.column(); + + if (col < 2) + { + return true; + } + + for (int row = 0; row < rowCount(); ++row) + { + if (data(index.siblingAtRow(row)).toString().split(", ").contains(value.toString())) + { + // duplicate value + return false; + } + } + + return true; +} + +bool UBShortcutManager::hasCtrlConflicts(const QKeySequence &additionalShortcut) const +{ + QSet<QKeySequence> shortcuts; + QSet<QKeySequence> ctrlShortcuts; + + for (int row = 1; row < rowCount(); ++row) + { + QAction* action = getAction(index(row, 0)); + + if (!action) + { + continue; + } + + if (action->property("builtIn").toBool()) + { + for (const QKeySequence& shortcut : action->shortcuts()) + { + shortcuts << shortcut; + } + } + else + { + shortcuts << action->shortcut(); + ctrlShortcuts << QKeySequence(action->shortcut()[0] ^ Qt::CTRL); + } + + } + + if (!additionalShortcut.isEmpty()) + { + shortcuts << additionalShortcut; + ctrlShortcuts << QKeySequence(additionalShortcut[0] ^ Qt::CTRL); + } + + return shortcuts.intersects(ctrlShortcuts); +} + +QString UBShortcutManager::buttonName(Qt::MouseButton button) +{ + switch (button) + { + case Qt::LeftButton: return tr("Left", "MouseButton"); + case Qt::RightButton: return tr("Right", "MouseButton"); + case Qt::MiddleButton: return tr("Middle", "MouseButton"); + case Qt::BackButton: return tr("Back", "MouseButton"); + case Qt::ForwardButton: return tr("Forward", "MouseButton"); + case Qt::TaskButton: return tr("Task", "MouseButton"); + case Qt::ExtraButton4: return tr("Extra", "MouseButton") + "4"; + case Qt::ExtraButton5: return tr("Extra", "MouseButton") + "5"; + case Qt::ExtraButton6: return tr("Extra", "MouseButton") + "6"; + case Qt::ExtraButton7: return tr("Extra", "MouseButton") + "7"; + case Qt::ExtraButton8: return tr("Extra", "MouseButton") + "8"; + case Qt::ExtraButton9: return tr("Extra", "MouseButton") + "9"; + case Qt::ExtraButton10: return tr("Extra", "MouseButton") + "10"; + case Qt::ExtraButton11: return tr("Extra", "MouseButton") + "11"; + case Qt::ExtraButton12: return tr("Extra", "MouseButton") + "12"; + case Qt::ExtraButton13: return tr("Extra", "MouseButton") + "13"; + case Qt::ExtraButton14: return tr("Extra", "MouseButton") + "14"; + case Qt::ExtraButton15: return tr("Extra", "MouseButton") + "15"; + case Qt::ExtraButton16: return tr("Extra", "MouseButton") + "16"; + case Qt::ExtraButton17: return tr("Extra", "MouseButton") + "17"; + case Qt::ExtraButton18: return tr("Extra", "MouseButton") + "18"; + case Qt::ExtraButton19: return tr("Extra", "MouseButton") + "19"; + case Qt::ExtraButton20: return tr("Extra", "MouseButton") + "20"; + case Qt::ExtraButton21: return tr("Extra", "MouseButton") + "21"; + case Qt::ExtraButton22: return tr("Extra", "MouseButton") + "22"; + case Qt::ExtraButton23: return tr("Extra", "MouseButton") + "23"; + case Qt::ExtraButton24: return tr("Extra", "MouseButton") + "24"; + default: return ""; + } +} + +Qt::MouseButton UBShortcutManager::buttonIndex(QString button) +{ + for (unsigned int index = Qt::LeftButton; index < Qt::AllButtons; index <<= 1) + { + Qt::MouseButton but = static_cast<Qt::MouseButton>(index); + + if (button == buttonName(but)) + { + return but; + } + } + + return Qt::NoButton; +} + +void UBShortcutManager::ignoreCtrl(bool ignore) +{ + if (ignore == mIgnoreCtrl) { + return; + } + + mIgnoreCtrl = ignore; + + for (auto& actionGroup : mActionGroups) + { + for (QAction* action : actionGroup.second) + { + if (!action->property("builtIn").toBool()) + { + QList<QKeySequence> shortcuts = action->shortcuts(); + + if (ignore && !shortcuts.empty() && shortcuts[0][0] & Qt::CTRL) { + QKeySequence noCtrl(shortcuts[0][0] ^ Qt::CTRL); + shortcuts << noCtrl; + action->setShortcuts(shortcuts); + } + else if (!ignore && shortcuts.size() > 1) + { + action->setShortcuts( { shortcuts[0] } ); + } + } + } + } + + UBSettings::settings()->setValue("Shortcut/IgnoreCtrl", ignore); + emit dataChanged(index(0, 2), index(rowCount(), 2)); +} + +QString UBShortcutManager::groupOfAction(const QAction *action) const +{ + for (auto& actionGroup : mActionGroups) + { + for (QAction* actionInGroup : actionGroup.second) + { + if (action == actionInGroup) + { + return actionGroup.first; + } + } + } + + return QString(); +} + +QList<QAction *> &UBShortcutManager::actionsOfGroup(const QString &group) +{ + for (auto& actionGroup : mActionGroups) + { + if (actionGroup.first == group) { + return actionGroup.second; + } + } + + QPair<QString,QList<QAction*>> actionGroup; + actionGroup.first = group; + mActionGroups << actionGroup; + + return mActionGroups.last().second; +} + +QAction *UBShortcutManager::getAction(const QModelIndex &index, QString *group) const +{ + int row = index.row(); + + for (auto& actionGroup : mActionGroups) + { + if (row == 0) + { + if (group) + { + *group = actionGroup.first; + } + + return nullptr; + } + + if (row <= actionGroup.second.size()) + { + if (group) + { + *group = actionGroup.first; + } + + return actionGroup.second[row - 1]; + } + + --row; + row -= actionGroup.second.size(); + } + + if (group) + { + group->clear(); + } + + return nullptr; +} + +void UBShortcutManager::updateSettings(const QAction *action) const +{ + QString key = "Shortcut/" + action->objectName(); + QString keySequence = action->shortcut().toString(); + QString defaultSequence = action->property(defaultShortcutProperty).toString(); + int mouseButton = action->property(mouseButtonProperty).toInt(); + int tabletButton = action->property(tabletButtonProperty).toInt(); + + if (keySequence == defaultSequence && mouseButton == 0 && tabletButton == 0) + { + // back to default, delete settings + UBSettings::settings()->setValue(key, QVariant()); + } + else + { + QStringList list; + list << keySequence; + list << QString("%1").arg(mouseButton); + list << QString("%1").arg(tabletButton); + UBSettings::settings()->setValue(key, list); + } +} diff --git a/src/core/UBShortcutManager.h b/src/core/UBShortcutManager.h new file mode 100644 index 000000000..e1e6a28bc --- /dev/null +++ b/src/core/UBShortcutManager.h @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2015-2018 Département de l'Instruction Publique (DIP-SEM) + * + * Copyright (C) 2013 Open Education Foundation + * + * Copyright (C) 2010-2013 Groupement d'Intérêt Public pour + * l'Education Numérique en Afrique (GIP ENA) + * + * This file is part of OpenBoard. + * + * OpenBoard is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3 of the License, + * with a specific linking exception for the OpenSSL project's + * "OpenSSL" library (or with modified versions of it that use the + * same license as the "OpenSSL" library). + * + * OpenBoard is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OpenBoard. If not, see <http://www.gnu.org/licenses/>. + */ + + +#ifndef UBSHORTCUTMANAGER_H +#define UBSHORTCUTMANAGER_H + +#include <QAbstractTableModel> +#include <QList> +#include <QMap> +#include <QMouseEvent> +#include <QPair> +#include <QTabletEvent> + +class QAction; +class UBMainWindow; + +class UBShortcutManager : public QAbstractTableModel +{ + Q_OBJECT; + +private: + UBShortcutManager(); + +public: + static UBShortcutManager* shortcutManager(); + + enum { + ActionRole = Qt::UserRole, // bool, true if row contains editable action + GroupHeaderRole, // bool, true if row is group header + PrimaryShortcutRole // QString, primary shortcut, only valid on column 2 + }; + + void addActions(const QString& group, const QList<QAction*> actions, QWidget* widget = nullptr); + void addMainActions(UBMainWindow* mainWindow); + + bool handleMouseEvent(QMouseEvent* event); + bool handleTabletEvent(QTabletEvent* event); + + // QAbstractTableModel overrides + virtual int rowCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; + virtual int columnCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; + virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE; + virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE; + virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) Q_DECL_OVERRIDE; + + bool resetData(const QModelIndex &index); + bool checkData(const QModelIndex &index, const QVariant &value) const; + bool hasCtrlConflicts(const QKeySequence& additionalShortcut = QKeySequence()) const; + + static QString buttonName(Qt::MouseButton button); + static Qt::MouseButton buttonIndex(QString button); + +public slots: + void ignoreCtrl(bool ignore); + +private: + QString groupOfAction(const QAction* action) const; + QList<QAction*>& actionsOfGroup(const QString& group); + QAction* getAction(const QModelIndex& index, QString* group = nullptr) const; + void updateSettings(const QAction* action) const; + +private: + QList<QPair<QString,QList<QAction*>>> mActionGroups; + QMap<Qt::MouseButton, QAction*> mMouseActions; + QMap<Qt::MouseButton, QAction*> mTabletActions; + bool mIgnoreCtrl; + + static UBShortcutManager* sShortcutManager; +}; + +#endif // UBSHORTCUTMANAGER_H diff --git a/src/core/core.pri b/src/core/core.pri index 3ad1846bb..d4c4f9ddc 100644 --- a/src/core/core.pri +++ b/src/core/core.pri @@ -1,5 +1,6 @@ HEADERS += src/core/UB.h \ + src/core/UBShortcutManager.h \ src/core/UBApplication.h \ src/core/UBSettings.h \ src/core/UBSetting.h \ @@ -19,6 +20,7 @@ HEADERS += src/core/UB.h \ $$PWD/UBForeignObjectsHandler.h SOURCES += src/core/main.cpp \ + src/core/UBShortcutManager.cpp \ src/core/UBApplication.cpp \ src/core/UBSettings.cpp \ src/core/UBSetting.cpp \ diff --git a/src/gui/UBActionPalette.cpp b/src/gui/UBActionPalette.cpp index c4bfe25d0..6196a6b07 100644 --- a/src/gui/UBActionPalette.cpp +++ b/src/gui/UBActionPalette.cpp @@ -68,7 +68,7 @@ void UBActionPalette::init(Qt::Orientation orientation) mButtonSize = QSize(32, 32); mIsClosable = false; mAutoClose = false; - mButtonGroup = 0; + mActionGroup = 0; mToolButtonStyle = Qt::ToolButtonIconOnly; mButtons.clear(); @@ -98,9 +98,10 @@ UBActionPaletteButton* UBActionPalette::createPaletteButton(QAction* action, QWi UBActionPaletteButton* button = new UBActionPaletteButton(action, parent); button->setIconSize(mButtonSize); button->setToolButtonStyle(mToolButtonStyle); + action->setProperty("id", mButtons.length()); - if (mButtonGroup) - mButtonGroup->addButton(button, mButtons.length()); + if (mActionGroup) + mActionGroup->addAction(action); mButtons << button; @@ -155,16 +156,19 @@ void UBActionPalette::setButtonIconSize(const QSize& size) void UBActionPalette::groupActions() { - mButtonGroup = new QButtonGroup(this); + mActionGroup = new QActionGroup(this); int i = 0; - foreach(QToolButton* button, mButtons) + foreach(QAction* action, mActions) { - mButtonGroup->addButton(button, i); - ++i; + if (!action->property("ungrouped").toBool()) + { + action->setProperty("id", i); + mActionGroup->addAction(action); + ++i; + } } - connect(mButtonGroup, qOverload<QAbstractButton *>(&QButtonGroup::buttonClicked), - this, &UBActionPalette::buttonGroupClicked); + connect(mActionGroup, SIGNAL(triggered(QAction*)), this, SIGNAL(buttonGroupClicked(QAction*))); } diff --git a/src/gui/UBActionPalette.h b/src/gui/UBActionPalette.h index 55d3e6284..9c1859be5 100644 --- a/src/gui/UBActionPalette.h +++ b/src/gui/UBActionPalette.h @@ -32,7 +32,7 @@ #include <QtGui> #include <QPoint> -#include <QButtonGroup> +#include <QActionGroup> #include <QToolButton> #include "UBFloatingPalette.h" @@ -83,7 +83,7 @@ class UBActionPalette : public UBFloatingPalette signals: void closed(); - void buttonGroupClicked(QAbstractButton *button); + void buttonGroupClicked(QAction* action); void customMouseReleased(); protected: @@ -94,7 +94,7 @@ class UBActionPalette : public UBFloatingPalette virtual void updateLayout(); QList<UBActionPaletteButton*> mButtons; - QButtonGroup* mButtonGroup; + QActionGroup* mActionGroup; QList<QAction*> mActions; QMap<QAction*, UBActionPaletteButton*> mMapActionToButton; diff --git a/src/gui/UBBackgroundPalette.cpp b/src/gui/UBBackgroundPalette.cpp index 4f8d8ebf6..6ba4af7ea 100644 --- a/src/gui/UBBackgroundPalette.cpp +++ b/src/gui/UBBackgroundPalette.cpp @@ -29,7 +29,6 @@ void UBBackgroundPalette::init() mButtonSize = QSize(32, 32); mIsClosable = false; mAutoClose = false; - mButtonGroup = 0; mToolButtonStyle = Qt::ToolButtonIconOnly; mButtons.clear(); @@ -60,8 +59,7 @@ void UBBackgroundPalette::init() mDrawIntermediateLinesCheckBox->setFixedSize(24,24); mDrawIntermediateLinesCheckBox->setCheckable(true); mActions << UBApplication::mainWindow->actionDrawIntermediateGridLines; - mButtons.removeLast(); // don't add to button group - + UBApplication::mainWindow->actionDrawIntermediateGridLines->setProperty("ungrouped", true); connect(UBApplication::mainWindow->actionDrawIntermediateGridLines, SIGNAL(toggled(bool)), this, SLOT(toggleIntermediateLines(bool))); mBottomLayout->addSpacing(16); diff --git a/src/gui/UBDocumentNavigator.cpp b/src/gui/UBDocumentNavigator.cpp index 6ae25b974..61c06b75f 100644 --- a/src/gui/UBDocumentNavigator.cpp +++ b/src/gui/UBDocumentNavigator.cpp @@ -509,14 +509,15 @@ void UBDocumentNavigator::keyPressEvent(QKeyEvent *event) switch (event->key ()) { case Qt::Key_Plus: - case Qt::Key_I: +// conflicts with pen selection shortcut +// case Qt::Key_I: { controller->zoomIn (); event->accept (); break; } case Qt::Key_Minus: - case Qt::Key_O: +// case Qt::Key_O: { controller->zoomOut (); event->accept (); diff --git a/src/gui/UBMainWindow.cpp b/src/gui/UBMainWindow.cpp index 5b3f24094..4dceca7a8 100644 --- a/src/gui/UBMainWindow.cpp +++ b/src/gui/UBMainWindow.cpp @@ -36,6 +36,7 @@ #include "core/UBApplicationController.h" #include "board/UBBoardController.h" #include "core/UBDisplayManager.h" +#include "core/UBShortcutManager.h" // work around for handling tablet events on MAC OS with Qt 4.8.0 and above #if defined(Q_OS_OSX) @@ -76,6 +77,8 @@ UBMainWindow::UBMainWindow(QWidget *parent, Qt::WindowFlags flags) #else actionQuit->setShortcut(QKeySequence(Qt::ALT + Qt::Key_F4)); #endif + + UBShortcutManager::shortcutManager()->addMainActions(this); } UBMainWindow::~UBMainWindow() diff --git a/src/gui/UBStylusPalette.cpp b/src/gui/UBStylusPalette.cpp index 2c09e718a..cac047991 100644 --- a/src/gui/UBStylusPalette.cpp +++ b/src/gui/UBStylusPalette.cpp @@ -78,13 +78,13 @@ UBStylusPalette::UBStylusPalette(QWidget *parent, Qt::Orientation orient) { // VirtualKeyboard action is not in group // So, groupping all buttons, except last - mButtonGroup = new QButtonGroup(this); - for(int i=0; i < mButtons.size()-1; i++) + mActionGroup = new QActionGroup(this); + for(int i=0; i < mActions.size()-1; i++) { - mButtonGroup->addButton(mButtons[i], i); + mActions[i]->setProperty("id", i); + mActionGroup->addAction(mActions[i]); } - connect(mButtonGroup, qOverload<QAbstractButton *>(&QButtonGroup::buttonClicked), - this, &UBActionPalette::buttonGroupClicked); + connect(mActionGroup, SIGNAL(triggered(QAction*)), this, SIGNAL(buttonGroupClicked(QAction*))); } adjustSizeAndPosition(); @@ -131,7 +131,7 @@ UBStylusPalette::~UBStylusPalette() void UBStylusPalette::stylusToolDoubleClicked() { - emit stylusToolDoubleClicked(mButtonGroup->checkedId()); + emit stylusToolDoubleClicked(mActionGroup->checkedAction()->property("id").toInt()); } diff --git a/src/gui/UBToolbarButtonGroup.cpp b/src/gui/UBToolbarButtonGroup.cpp index e68f11bf1..929c2ca08 100644 --- a/src/gui/UBToolbarButtonGroup.cpp +++ b/src/gui/UBToolbarButtonGroup.cpp @@ -123,7 +123,11 @@ void UBToolbarButtonGroup::setIcon(const QIcon &icon, int index) QToolButton *button = qobject_cast<QToolButton*>(widget); if (button) { - button->setIcon(icon); + // change icon at action, so that updates of action do not overwrite the icon + for (QAction* action : button->actions()) + { + action->setIcon(icon); + } } } } From d20f804149e4cde70c8791f39fe15fb131d42c06 Mon Sep 17 00:00:00 2001 From: letsfindaway <me@letsfindaway.de> Date: Sat, 23 Oct 2021 11:02:23 +0200 Subject: [PATCH 2/4] feat: seamless switching between tools - switch between tools in board mode even if pen down - new tool starts at current position - fix conflict between panning and page change --- src/board/UBBoardView.cpp | 66 ++++++++++++++++--------------- src/board/UBDrawingController.cpp | 13 ++++-- src/board/UBDrawingController.h | 2 +- src/domain/UBGraphicsScene.cpp | 27 +++++++------ src/domain/UBGraphicsScene.h | 1 + 5 files changed, 61 insertions(+), 48 deletions(-) diff --git a/src/board/UBBoardView.cpp b/src/board/UBBoardView.cpp index 72d4e5998..dc6f0eac5 100644 --- a/src/board/UBBoardView.cpp +++ b/src/board/UBBoardView.cpp @@ -208,43 +208,45 @@ void UBBoardView::keyPressEvent (QKeyEvent *event) if (!event->isAccepted ()) { - switch (event->key ()) + if (event->modifiers () == 0) { - case Qt::Key_Up: - case Qt::Key_PageUp: - case Qt::Key_Left: - { - mController->previousScene (); - break; - } + switch (event->key ()) + { + case Qt::Key_Up: + case Qt::Key_PageUp: + case Qt::Key_Left: + { + mController->previousScene (); + break; + } - case Qt::Key_Down: - case Qt::Key_PageDown: - case Qt::Key_Right: - case Qt::Key_Space: - { - mController->nextScene (); - break; - } + case Qt::Key_Down: + case Qt::Key_PageDown: + case Qt::Key_Right: + case Qt::Key_Space: + { + mController->nextScene (); + break; + } - case Qt::Key_Home: - { - mController->firstScene (); - break; - } - case Qt::Key_End: - { - mController->lastScene (); - break; - } - case Qt::Key_Insert: - { - mController->addScene (); - break; - } + case Qt::Key_Home: + { + mController->firstScene (); + break; + } + case Qt::Key_End: + { + mController->lastScene (); + break; + } + case Qt::Key_Insert: + { + mController->addScene (); + break; + } + } } - if (event->modifiers () & Qt::ControlModifier) // keep only ctrl/cmd keys { switch (event->key ()) diff --git a/src/board/UBDrawingController.cpp b/src/board/UBDrawingController.cpp index b1843eb6e..f244a201d 100644 --- a/src/board/UBDrawingController.cpp +++ b/src/board/UBDrawingController.cpp @@ -156,11 +156,16 @@ void UBDrawingController::setStylusTool(int tool) } -bool UBDrawingController::isDrawingTool() +bool UBDrawingController::isDrawingTool(int tool) { - return (stylusTool() == UBStylusTool::Pen) - || (stylusTool() == UBStylusTool::Marker) - || (stylusTool() == UBStylusTool::Line); + if (tool < 0) + { + tool = stylusTool(); + } + + return (tool == UBStylusTool::Pen) + || (tool == UBStylusTool::Marker) + || (tool == UBStylusTool::Line); } diff --git a/src/board/UBDrawingController.h b/src/board/UBDrawingController.h index 61d4ad827..b44fe980b 100644 --- a/src/board/UBDrawingController.h +++ b/src/board/UBDrawingController.h @@ -52,7 +52,7 @@ class UBDrawingController : public QObject int stylusTool(); int latestDrawingTool(); - bool isDrawingTool(); + bool isDrawingTool(int tool = -1); int currentToolWidthIndex(); qreal currentToolWidth(); diff --git a/src/domain/UBGraphicsScene.cpp b/src/domain/UBGraphicsScene.cpp index 42aab2268..ce3ab9a41 100644 --- a/src/domain/UBGraphicsScene.cpp +++ b/src/domain/UBGraphicsScene.cpp @@ -502,6 +502,7 @@ bool UBGraphicsScene::inputDeviceMove(const QPointF& scenePos, const qreal& pres UBStylusTool::Enum currentTool = (UBStylusTool::Enum)dc->stylusTool(); QPointF position = QPointF(scenePos); + mCurrentPoint = position; if (currentTool == UBStylusTool::Eraser) { @@ -669,14 +670,9 @@ bool UBGraphicsScene::inputDeviceRelease(int tool) } UBStylusTool::Enum currentTool = (UBStylusTool::Enum)tool; - - if (currentTool == UBStylusTool::Eraser) - hideEraser(); - - UBDrawingController *dc = UBDrawingController::drawingController(); - if (dc->isDrawingTool() || mDrawWithCompass) + if (dc->isDrawingTool(tool) || mDrawWithCompass) { if(mArcPolygonItem){ @@ -2388,12 +2384,21 @@ void UBGraphicsScene::resizedMagnifier(qreal newPercent) void UBGraphicsScene::stylusToolChanged(int tool, int previousTool) { - if (mInputDeviceIsPressed && tool != previousTool) + if (tool != previousTool) { - // tool was changed while input device is pressed - // simulate release and press to terminate pervious strokes - inputDeviceRelease(previousTool); - inputDevicePress(mPreviousPoint); + hideTool(); + + if (mInputDeviceIsPressed) + { + // tool was changed while input device is pressed + // simulate release and press to terminate previous strokes + inputDeviceRelease(previousTool); + inputDevicePress(mCurrentPoint); + } + else if (previousTool >= 0) + { + inputDeviceMove(mCurrentPoint); + } } } diff --git a/src/domain/UBGraphicsScene.h b/src/domain/UBGraphicsScene.h index b78cce987..3825da6eb 100644 --- a/src/domain/UBGraphicsScene.h +++ b/src/domain/UBGraphicsScene.h @@ -465,6 +465,7 @@ public slots: QPointF mPreviousPoint; qreal mPreviousWidth; qreal mDistanceFromLastStrokePoint; + QPointF mCurrentPoint; QList<UBGraphicsPolygonItem*> mPreviousPolygonItems; From f35e631ef6e0d5f3cb68e75ed756b822c115674c Mon Sep 17 00:00:00 2001 From: letsfindaway <me@letsfindaway.de> Date: Sun, 12 Dec 2021 11:04:56 +0100 Subject: [PATCH 3/4] feat: activate tool while a key is pressed - add UBActionGroupHistory - listen for key release events to return to previous tool --- src/core/UBApplication.cpp | 9 +++ src/core/UBPreferencesController.cpp | 2 +- src/core/UBShortcutManager.cpp | 102 +++++++++++++++++++++++++++ src/core/UBShortcutManager.h | 27 ++++++- src/gui/UBStylusPalette.cpp | 9 ++- 5 files changed, 146 insertions(+), 3 deletions(-) diff --git a/src/core/UBApplication.cpp b/src/core/UBApplication.cpp index 4f04a69bd..1b1874aee 100644 --- a/src/core/UBApplication.cpp +++ b/src/core/UBApplication.cpp @@ -703,6 +703,15 @@ bool UBApplication::eventFilter(QObject *obj, QEvent *event) } } + else if (event->type() == QEvent::KeyRelease) + { + // intercept key release events for shortcut handler + QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); + + return UBShortcutManager::shortcutManager()->handleKeyReleaseEvent(keyEvent) + || result; + } + return result; } diff --git a/src/core/UBPreferencesController.cpp b/src/core/UBPreferencesController.cpp index e8d434173..a1be9bba3 100644 --- a/src/core/UBPreferencesController.cpp +++ b/src/core/UBPreferencesController.cpp @@ -119,7 +119,7 @@ bool UBPreferencesController::handleKeyEvent(QKeyEvent *event) int keys = mods; - if (key < Qt::Key_Shift || key > Qt::Key_Alt) + if (key < Qt::Key_Shift || key > Qt::Key_ScrollLock) { keys += key; } diff --git a/src/core/UBShortcutManager.cpp b/src/core/UBShortcutManager.cpp index 9e74e9c2b..e4afaa55c 100644 --- a/src/core/UBShortcutManager.cpp +++ b/src/core/UBShortcutManager.cpp @@ -294,6 +294,20 @@ void UBShortcutManager::addMainActions(UBMainWindow *mainWindow) ignoreCtrl(UBSettings::settings()->value("Shortcut/IgnoreCtrl").toBool()); } +void UBShortcutManager::addActionGroup(QActionGroup *actionGroup) +{ + mActionGroupHistoryMap[actionGroup] = new UBActionGroupHistory(actionGroup); +} + +void UBShortcutManager::removeActionGroup(QActionGroup *actionGroup) +{ + if (mActionGroupHistoryMap.contains(actionGroup)) + { + delete mActionGroupHistoryMap[actionGroup]; + mActionGroupHistoryMap.remove(actionGroup); + } +} + bool UBShortcutManager::handleMouseEvent(QMouseEvent *event) { if (mMouseActions.contains(event->button())) @@ -328,6 +342,18 @@ bool UBShortcutManager::handleTabletEvent(QTabletEvent *event) return false; } +bool UBShortcutManager::handleKeyReleaseEvent(QKeyEvent *event) +{ + for (UBActionGroupHistory* actionGroupHistory : mActionGroupHistoryMap.values()) + { + if (actionGroupHistory->keyReleased(event)) { + return true; + } + } + + return false; +} + int UBShortcutManager::rowCount(const QModelIndex &parent) const { Q_UNUSED(parent); @@ -479,6 +505,16 @@ bool UBShortcutManager::setData(const QModelIndex &index, const QVariant &value, case 3: action->setProperty(mouseButtonProperty, value); + + for (Qt::MouseButton key : mMouseActions.keys()) + { + if (mMouseActions[key] == action) + { + mMouseActions.remove(key); + break; + } + } + mMouseActions[static_cast<Qt::MouseButton>(value.toInt())] = action; updateSettings(action); emit dataChanged(index, index); @@ -486,6 +522,16 @@ bool UBShortcutManager::setData(const QModelIndex &index, const QVariant &value, case 4: action->setProperty(tabletButtonProperty, value); + + for (Qt::MouseButton key : mTabletActions.keys()) + { + if (mTabletActions[key] == action) + { + mTabletActions.remove(key); + break; + } + } + mTabletActions[static_cast<Qt::MouseButton>(value.toInt())] = action; updateSettings(action); emit dataChanged(index, index); @@ -749,3 +795,59 @@ void UBShortcutManager::updateSettings(const QAction *action) const UBSettings::settings()->setValue(key, list); } } + +// ---------- UBActionGroupHistory ---------- + +UBActionGroupHistory::UBActionGroupHistory(QActionGroup *parent) + : QObject(parent) + , mActionGroup(parent) + , mCurrentAction(parent->checkedAction()) + , mPreviousAction(nullptr) + , mRevertingAction(nullptr) +{ + connect(parent, &QActionGroup::triggered, this, &UBActionGroupHistory::triggered); +} + +void UBActionGroupHistory::triggered(QAction *action) +{ + if (mCurrentAction != action) + { + mPreviousAction = mCurrentAction; + mCurrentAction = action; + } +} + +bool UBActionGroupHistory::keyReleased(QKeyEvent *event) +{ + int key = event->key() & ~Qt::KeyboardModifierMask; + + for (QAction* action : mActionGroup->actions()) + { + QKeySequence keySequence = action->shortcut(); + + if (keySequence.count() > 0) + { + int actionKey = action->shortcut()[0] & ~Qt::KeyboardModifierMask; + + if (key == actionKey) + { + if (event->isAutoRepeat()) + { + if (!mRevertingAction) + { + mRevertingAction = mPreviousAction;; + } + } + else if (mRevertingAction) + { + mRevertingAction->trigger(); + mRevertingAction = nullptr; + } + + return true; + } + } + } + + return false; +} diff --git a/src/core/UBShortcutManager.h b/src/core/UBShortcutManager.h index e1e6a28bc..c6878fea2 100644 --- a/src/core/UBShortcutManager.h +++ b/src/core/UBShortcutManager.h @@ -36,11 +36,13 @@ #include <QTabletEvent> class QAction; +class QActionGroup; class UBMainWindow; +class UBActionGroupHistory; class UBShortcutManager : public QAbstractTableModel { - Q_OBJECT; + Q_OBJECT private: UBShortcutManager(); @@ -57,8 +59,12 @@ class UBShortcutManager : public QAbstractTableModel void addActions(const QString& group, const QList<QAction*> actions, QWidget* widget = nullptr); void addMainActions(UBMainWindow* mainWindow); + void addActionGroup(QActionGroup* actionGroup); + void removeActionGroup(QActionGroup* actionGroup); + bool handleMouseEvent(QMouseEvent* event); bool handleTabletEvent(QTabletEvent* event); + bool handleKeyReleaseEvent(QKeyEvent* event); // QAbstractTableModel overrides virtual int rowCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; @@ -87,9 +93,28 @@ public slots: QList<QPair<QString,QList<QAction*>>> mActionGroups; QMap<Qt::MouseButton, QAction*> mMouseActions; QMap<Qt::MouseButton, QAction*> mTabletActions; + QMap<QActionGroup*, UBActionGroupHistory*> mActionGroupHistoryMap; bool mIgnoreCtrl; static UBShortcutManager* sShortcutManager; }; +class UBActionGroupHistory : public QObject +{ + Q_OBJECT + +public: + UBActionGroupHistory(QActionGroup* parent); + +public slots: + void triggered(QAction* action); + bool keyReleased(QKeyEvent* event); + +private: + QActionGroup* mActionGroup; + QAction* mCurrentAction; + QAction* mPreviousAction; + QAction* mRevertingAction; +}; + #endif // UBSHORTCUTMANAGER_H diff --git a/src/gui/UBStylusPalette.cpp b/src/gui/UBStylusPalette.cpp index cac047991..611fc59e3 100644 --- a/src/gui/UBStylusPalette.cpp +++ b/src/gui/UBStylusPalette.cpp @@ -36,6 +36,8 @@ #include "core/UBApplication.h" #include "core/UBSettings.h" #include "core/UBApplicationController.h" +#include "core/UBShortcutManager.h" + #include "board/UBDrawingController.h" @@ -87,6 +89,8 @@ UBStylusPalette::UBStylusPalette(QWidget *parent, Qt::Orientation orient) connect(mActionGroup, SIGNAL(triggered(QAction*)), this, SIGNAL(buttonGroupClicked(QAction*))); } + UBShortcutManager::shortcutManager()->addActionGroup(mActionGroup); + adjustSizeAndPosition(); initPosition(); @@ -126,7 +130,10 @@ void UBStylusPalette::initPosition() UBStylusPalette::~UBStylusPalette() { - + if (mActionGroup) + { + UBShortcutManager::shortcutManager()->removeActionGroup(mActionGroup); + } } void UBStylusPalette::stylusToolDoubleClicked() From 1400927ab9bb55d830d6a6e4d8b7d799cebe896b Mon Sep 17 00:00:00 2001 From: letsfindaway <me@letsfindaway.de> Date: Sat, 20 Mar 2021 08:28:35 +0100 Subject: [PATCH 4/4] i18n: update translation files - update all translation files - add German translations for shortcut configuration --- resources/i18n/OpenBoard_ar.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_bg.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_ca.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_cs.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_da.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_de.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_el.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_en.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_en_UK.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_es.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_eu.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_fr.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_fr_CH.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_gl.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_hr.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_hu.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_it.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_iw.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_ja.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_ko.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_mg.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_nb.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_nl.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_pl.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_pt.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_pt_BR.ts | 96 +++++++------- resources/i18n/OpenBoard_ro.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_ru.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_sk.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_sv.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_tr.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_uk.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_zh.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_zh_CN.ts | 204 ++++++++++++++++++++++++++++++ resources/i18n/OpenBoard_zh_TW.ts | 204 ++++++++++++++++++++++++++++++ src/core/UBShortcutManager.cpp | 2 +- 36 files changed, 6985 insertions(+), 49 deletions(-) diff --git a/resources/i18n/OpenBoard_ar.ts b/resources/i18n/OpenBoard_ar.ts index f5f8710df..d6c24b759 100644 --- a/resources/i18n/OpenBoard_ar.ts +++ b/resources/i18n/OpenBoard_ar.ts @@ -2293,6 +2293,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">موافقة</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">تسجيل</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2301,6 +2323,148 @@ Do you want to ignore these errors for this host?</source> <translation>أفلامي</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">لوحة</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">لوح الرسم</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">بودكاست</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">الوصف</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">يسار</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">يمين </translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">العودة</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">أمام</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2985,6 +3149,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">تسجيل</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_bg.ts b/resources/i18n/OpenBoard_bg.ts index 55afee3c5..6b681a956 100644 --- a/resources/i18n/OpenBoard_bg.ts +++ b/resources/i18n/OpenBoard_bg.ts @@ -2286,6 +2286,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Приеми</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Запиши</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2294,6 +2316,148 @@ Do you want to ignore these errors for this host?</source> <translation>Моите филми</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Дъска</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Палитна на стилуса</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Подкаст</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Описание</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">На ляво</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">На дясно</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Назад</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Напред</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2975,6 +3139,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Запиши</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_ca.ts b/resources/i18n/OpenBoard_ca.ts index e7fa6b78a..be55ab052 100644 --- a/resources/i18n/OpenBoard_ca.ts +++ b/resources/i18n/OpenBoard_ca.ts @@ -2294,6 +2294,28 @@ Voleu ignorar aquests errors per a aquest amfitrió?</translation> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">D'acord</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Enregistra</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2302,6 +2324,148 @@ Voleu ignorar aquests errors per a aquest amfitrió?</translation> <translation>Les meves pel·lícules</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Tauler</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Barra d'estris</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Descripció</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Esquerra</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Dreta</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Enrere</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Cap endavant</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2977,6 +3141,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Enregistra</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_cs.ts b/resources/i18n/OpenBoard_cs.ts index 4e0fa5cf4..555a170f7 100644 --- a/resources/i18n/OpenBoard_cs.ts +++ b/resources/i18n/OpenBoard_cs.ts @@ -2290,6 +2290,28 @@ Chcete ignorovat tyto chyby na tomto serveru?</translation> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Přijmout</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Nahrávat</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2298,6 +2320,148 @@ Chcete ignorovat tyto chyby na tomto serveru?</translation> <translation>Moje filmy</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Paleta pro stylus</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Popis</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Vlevo</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Vpravo</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Zpět</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Vpřed</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2980,6 +3144,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Nahrávat</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_da.ts b/resources/i18n/OpenBoard_da.ts index d293255b3..397a1cb18 100644 --- a/resources/i18n/OpenBoard_da.ts +++ b/resources/i18n/OpenBoard_da.ts @@ -2286,6 +2286,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Accepter</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Optag</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2294,6 +2316,148 @@ Do you want to ignore these errors for this host?</source> <translation>Mine Film</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Tavle</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Penpalette</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Beskrivelse</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Venstre</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Højre</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Tilbage</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Fremad</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2972,6 +3136,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Optag</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_de.ts b/resources/i18n/OpenBoard_de.ts index efb1919c7..10cc45546 100644 --- a/resources/i18n/OpenBoard_de.ts +++ b/resources/i18n/OpenBoard_de.ts @@ -2327,6 +2327,28 @@ Möchten Sie diese Fehler für diesen Computer ignorieren?</translation> <source>Use all available displays</source> <translation>Alle verfügbaren Bildschirme nutzen</translation> </message> + <message> + <source>Key sequence already in use</source> + <translation>Tastenkombination wird bereits benutzt</translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation>Maustaste wird bereits benutzt</translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation>Stifttaste wird bereits benutzt</translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation>Übernehmen</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation>Aufnehmen</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2335,6 +2357,148 @@ Möchten Sie diese Fehler für diesen Computer ignorieren?</translation> <translation>Meine Filme</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation>Allgemein</translation> + </message> + <message> + <source>Board</source> + <translation>Board</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation>Stylus-Palette</translation> + </message> + <message> + <source>Lines and colours</source> + <translation>Linien und Farben</translation> + </message> + <message> + <source>Background</source> + <translation>Hintergrund</translation> + </message> + <message> + <source>Podcast</source> + <translation>Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation>Erste Seite</translation> + </message> + <message> + <source>Show first scene</source> + <translation>Erste Seite anzeigen</translation> + </message> + <message> + <source>Last scene</source> + <translation>Letzte Seite</translation> + </message> + <message> + <source>Show last scene</source> + <translation>Letzte Seite anzeigen</translation> + </message> + <message> + <source>Zoom reset</source> + <translation>Originalgröße</translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation>Zoom-Faktor zurücksetzen</translation> + </message> + <message> + <source>Scroll left</source> + <translation>Links</translation> + </message> + <message> + <source>Scroll page left</source> + <translation>Seite nach links verschieben</translation> + </message> + <message> + <source>Scroll right</source> + <translation>Rechts</translation> + </message> + <message> + <source>Scroll page right</source> + <translation>Seite nach rechts verschieben</translation> + </message> + <message> + <source>Scroll up</source> + <translation>Oben</translation> + </message> + <message> + <source>Scroll page up</source> + <translation>Seite nach oben verschieben</translation> + </message> + <message> + <source>Scroll down</source> + <translation>Unten</translation> + </message> + <message> + <source>Scroll page down</source> + <translation>Seite nach unten verschieben</translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation>Eingebaut (nicht änderbar)</translation> + </message> + <message> + <source>Command</source> + <translation>Befehl</translation> + </message> + <message> + <source>Description</source> + <translation>Beschreibung</translation> + </message> + <message> + <source>Key Sequence</source> + <translation>Tasten</translation> + </message> + <message> + <source>Mouse Button</source> + <translation>Maustaste</translation> + </message> + <message> + <source>Tablet Button</source> + <translation>Stifttaste</translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation>Links</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation>Rechts</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation>Mitte</translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation>Zurück</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation>Weiter</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation>Aufgabe</translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation>Extra</translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -3031,6 +3195,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation>Liste der Bildschirme, die für die Hauptansicht, Erweiterte Ansicht und Vorherige Seiten verwendet werden</translation> </message> + <message> + <source>Shortcut</source> + <translation>Kurzbefehl</translation> + </message> + <message> + <source>Filter</source> + <translation>Filter</translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation>Aktiviere Kurzbefehle auch ohne Strg Taste</translation> + </message> + <message> + <source>Shortcuts</source> + <translation>Kurzbefehle</translation> + </message> + <message> + <source>Abort</source> + <translation>Abbrechen</translation> + </message> + <message> + <source>Record</source> + <translation>Aufnehmen</translation> + </message> + <message> + <source>Stylus Button</source> + <translation>Stifttaste</translation> + </message> + <message> + <source>Mouse Button</source> + <translation>Maustaste</translation> + </message> + <message> + <source>Reset</source> + <translation>Zurücksetzen</translation> + </message> + <message> + <source>Key Sequence</source> + <translation>Tasten</translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_el.ts b/resources/i18n/OpenBoard_el.ts index 85383bae8..c54f0e5a0 100644 --- a/resources/i18n/OpenBoard_el.ts +++ b/resources/i18n/OpenBoard_el.ts @@ -2286,6 +2286,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Αποδοχή</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Εγγραφή</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2294,6 +2316,148 @@ Do you want to ignore these errors for this host?</source> <translation>Οι ταινίες μου</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Εφαρμογή</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Παλέτα εργαλείων</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Βίντεο</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Περιγραφή</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Αριστερά</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Δεξιά</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Πίσω</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Μπροστά</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2976,6 +3140,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Εγγραφή</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_en.ts b/resources/i18n/OpenBoard_en.ts index 95ef6ce75..314b0e088 100644 --- a/resources/i18n/OpenBoard_en.ts +++ b/resources/i18n/OpenBoard_en.ts @@ -2196,6 +2196,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished"></translation> + </message> </context> <context> <name>UBSettings</name> @@ -2204,6 +2226,148 @@ Do you want to ignore these errors for this host?</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2877,6 +3041,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_en_UK.ts b/resources/i18n/OpenBoard_en_UK.ts index 95ef6ce75..314b0e088 100644 --- a/resources/i18n/OpenBoard_en_UK.ts +++ b/resources/i18n/OpenBoard_en_UK.ts @@ -2196,6 +2196,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished"></translation> + </message> </context> <context> <name>UBSettings</name> @@ -2204,6 +2226,148 @@ Do you want to ignore these errors for this host?</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2877,6 +3041,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_es.ts b/resources/i18n/OpenBoard_es.ts index 8ecc50d34..cd8ba890d 100644 --- a/resources/i18n/OpenBoard_es.ts +++ b/resources/i18n/OpenBoard_es.ts @@ -2305,6 +2305,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Aceptar</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Grabar</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2313,6 +2335,148 @@ Do you want to ignore these errors for this host?</source> <translation>Mis películas</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Pizarra</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Paleta del lápiz</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Descripción</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Izquierda</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Derecha</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Atrás</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Hacia delante</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -3003,6 +3167,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Grabar</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_eu.ts b/resources/i18n/OpenBoard_eu.ts index 3fd21feda..da1abd521 100644 --- a/resources/i18n/OpenBoard_eu.ts +++ b/resources/i18n/OpenBoard_eu.ts @@ -2476,6 +2476,28 @@ Ostalari onentzako errore hauek ez-ikusi nahi dituzu?</translation> <source>Use all available displays</source> <translation type="unfinished">Erabili pantaila eskuragarri guztiak</translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Onartu</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Grabatu</translation> + </message> </context> <context> <name>UBProxyLoginDlg</name> @@ -2518,6 +2540,148 @@ Ostalari onentzako errore hauek ez-ikusi nahi dituzu?</translation> <translation>Nire filmak</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Arbela</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Luma paleta</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcasta</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Deskribapena</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Ezkerrera</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Eskuinera</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Atzera</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Aurrera</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -3291,6 +3455,46 @@ p, li { white-space: pre-wrap; } <source>On Dark Background</source> <translation type="unfinished">Atzeko plano ilunean</translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Grabatu</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_fr.ts b/resources/i18n/OpenBoard_fr.ts index e434001d4..5a96ac3d2 100644 --- a/resources/i18n/OpenBoard_fr.ts +++ b/resources/i18n/OpenBoard_fr.ts @@ -2334,6 +2334,28 @@ Voulez-vous ignorer les erreurs pour ce serveur ?</translation> <source>Use all available displays</source> <translation>Utiliser tous les écrans disponibles</translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Accepter</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Enregistrer</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2342,6 +2364,148 @@ Voulez-vous ignorer les erreurs pour ce serveur ?</translation> <translation>Mes films</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Tableau</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Barre du stylet</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Description</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Gauche</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Droite</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Précédente</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Suivante</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -3037,6 +3201,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation>Liste des écrans utilisés pour les affichages Principal, Étendu et Pages précédentes</translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Enregistrer</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_fr_CH.ts b/resources/i18n/OpenBoard_fr_CH.ts index 65d3df316..b41c27da1 100644 --- a/resources/i18n/OpenBoard_fr_CH.ts +++ b/resources/i18n/OpenBoard_fr_CH.ts @@ -2334,6 +2334,28 @@ Voulez-vous ignorer les erreurs pour ce serveur ?</translation> <source>Use all available displays</source> <translation>Utiliser tous les écrans disponibles</translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Accepter</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Enregistrer</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2342,6 +2364,148 @@ Voulez-vous ignorer les erreurs pour ce serveur ?</translation> <translation>Mes films</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Tableau</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Barre du stylet</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Description</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Gauche</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Droite</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Précédente</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Suivante</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -3037,6 +3201,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation>Liste des écrans utilisés pour les affichages Principal, Étendu et Pages précédentes</translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Enregistrer</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_gl.ts b/resources/i18n/OpenBoard_gl.ts index a00a58d6a..792e368ec 100644 --- a/resources/i18n/OpenBoard_gl.ts +++ b/resources/i18n/OpenBoard_gl.ts @@ -2305,6 +2305,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Aceptar</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Grabar</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2313,6 +2335,148 @@ Do you want to ignore these errors for this host?</source> <translation>As miñas películas</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Encerado</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Paleta do lápiz</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Esquerda</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Dereita</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Atrás</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Cara a diante</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2999,6 +3163,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Grabar</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_hr.ts b/resources/i18n/OpenBoard_hr.ts index 33ba76d01..d68637c9d 100644 --- a/resources/i18n/OpenBoard_hr.ts +++ b/resources/i18n/OpenBoard_hr.ts @@ -2375,6 +2375,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Prihvati</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Snimi</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2383,6 +2405,148 @@ Do you want to ignore these errors for this host?</source> <translation>Moji filmovi</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Ploča</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Paleta alata</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Opis</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Lijevo</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Desno</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Natrag</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Naprijed</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -3271,6 +3435,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Snimi</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_hu.ts b/resources/i18n/OpenBoard_hu.ts index 23013e991..8e068f1e8 100644 --- a/resources/i18n/OpenBoard_hu.ts +++ b/resources/i18n/OpenBoard_hu.ts @@ -2386,6 +2386,28 @@ Figyelmen kívül hagyja ezeket a hibákat ennél a hosztnál?</translation> <source>Use all available displays</source> <translation>Az összes elérhető kijelző használata</translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Elfogadás</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Felvétel</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2394,6 +2416,148 @@ Figyelmen kívül hagyja ezeket a hibákat ennél a hosztnál?</translation> <translation>Videóim</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Tábla</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Képernyő eszköztár</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Leírás</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Bal</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Jobb</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Vissza</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Előre</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -3084,6 +3248,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation>A vezérléshez, megjelenítéshez és az előző oldalakhoz használt képernyők listája</translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Felvétel</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_it.ts b/resources/i18n/OpenBoard_it.ts index bc50af993..87e8cc7f6 100644 --- a/resources/i18n/OpenBoard_it.ts +++ b/resources/i18n/OpenBoard_it.ts @@ -2322,6 +2322,28 @@ Vuoi ignorare gli errori per questo host?</translation> <source>Use all available displays</source> <translation>Utlizzare tutti gli schermi</translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Accetta</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Registra</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2330,6 +2352,148 @@ Vuoi ignorare gli errori per questo host?</translation> <translation>I miei film</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Lavagna</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Palette stilo</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Descrizione</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Sinistra</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Destra</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Indietro</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Avanti</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -3025,6 +3189,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation>Lista degli schermi utilizzati per le visualizzazioni Principale, Esteso ePpagine precedenti</translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Registra</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_iw.ts b/resources/i18n/OpenBoard_iw.ts index b58db4915..213f35ecf 100644 --- a/resources/i18n/OpenBoard_iw.ts +++ b/resources/i18n/OpenBoard_iw.ts @@ -2282,6 +2282,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">קבל</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">הקלט</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2290,6 +2312,148 @@ Do you want to ignore these errors for this host?</source> <translation>הסרטים שלי</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">לוח</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">סרגל הכלים הגראפיים</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">פודקסט</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">תיאור</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">שמאל</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">ימין</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">חזרה</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">קדימה</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2968,6 +3132,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">הקלט</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_ja.ts b/resources/i18n/OpenBoard_ja.ts index e96cb41b0..425358aed 100644 --- a/resources/i18n/OpenBoard_ja.ts +++ b/resources/i18n/OpenBoard_ja.ts @@ -2276,6 +2276,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">記録</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2284,6 +2306,148 @@ Do you want to ignore these errors for this host?</source> <translation>マイ・ムービー </translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">ボード</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">スタイラスパレット </translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">ポッドキャスト </translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">説明</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">左</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">右</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">戻る</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">前へ</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2962,6 +3126,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">記録</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_ko.ts b/resources/i18n/OpenBoard_ko.ts index 920980f9a..873749d2c 100644 --- a/resources/i18n/OpenBoard_ko.ts +++ b/resources/i18n/OpenBoard_ko.ts @@ -2289,6 +2289,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">적용</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">레코딩</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2297,6 +2319,148 @@ Do you want to ignore these errors for this host?</source> <translation>내 동영상</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">보드</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">스타일러스 팔레트</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">팟캐스트</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">설명</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">왼쪽</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">오른쪽</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">뒤로</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">앞으로</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2979,6 +3143,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">레코딩</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_mg.ts b/resources/i18n/OpenBoard_mg.ts index 55206eb5e..7bf24ed2f 100644 --- a/resources/i18n/OpenBoard_mg.ts +++ b/resources/i18n/OpenBoard_mg.ts @@ -2286,6 +2286,28 @@ Tena tsy te hiraharaha an'ireo tsy mety ho an'ilay milina ve ianao?</t <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Ekena</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Raiketo</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2294,6 +2316,148 @@ Tena tsy te hiraharaha an'ireo tsy mety ho an'ilay milina ve ianao?</t <translation>Ny sarimietsiko</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Solaitra</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Fanovana haingony</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Fanazavana</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Havia</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Havanana</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Miverina</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Manaraka</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2976,6 +3140,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Raiketo</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_nb.ts b/resources/i18n/OpenBoard_nb.ts index 70c61d066..164cf2697 100644 --- a/resources/i18n/OpenBoard_nb.ts +++ b/resources/i18n/OpenBoard_nb.ts @@ -2282,6 +2282,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Godta</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Ta opp</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2290,6 +2312,148 @@ Do you want to ignore these errors for this host?</source> <translation>Mine filmer</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Tavle</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Stilpalett</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Beskrivelse</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Venstre</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Høyre</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Tilbake</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Forover</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2973,6 +3137,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Ta opp</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_nl.ts b/resources/i18n/OpenBoard_nl.ts index 6cbbf525b..ab21d741e 100644 --- a/resources/i18n/OpenBoard_nl.ts +++ b/resources/i18n/OpenBoard_nl.ts @@ -2272,6 +2272,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Opnemen</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2280,6 +2302,148 @@ Do you want to ignore these errors for this host?</source> <translation>Mijn films</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Bord</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Pen palet</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Beschrijving</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Links</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Rechts</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Terug</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Vooruit</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2961,6 +3125,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Opnemen</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_pl.ts b/resources/i18n/OpenBoard_pl.ts index a0261b033..c11a5562f 100644 --- a/resources/i18n/OpenBoard_pl.ts +++ b/resources/i18n/OpenBoard_pl.ts @@ -2317,6 +2317,28 @@ Czy chcesz ignorować te błędy dla tego hosta?</translation> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Akceptuj</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Nagraj</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2325,6 +2347,148 @@ Czy chcesz ignorować te błędy dla tego hosta?</translation> <translation>Moje filmy</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Tablica</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Paleta piórka</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podkast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Opis</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Lewo</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Prawo</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Powrót</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Do przodu</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -3015,6 +3179,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Nagraj</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_pt.ts b/resources/i18n/OpenBoard_pt.ts index 9808b1656..0857557ab 100644 --- a/resources/i18n/OpenBoard_pt.ts +++ b/resources/i18n/OpenBoard_pt.ts @@ -2289,6 +2289,28 @@ Quer ignorar estes erros, deste servidor?</translation> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Aceitar</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Gravar</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2297,6 +2319,148 @@ Quer ignorar estes erros, deste servidor?</translation> <translation>Os meus filmes</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Quadro</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Paleta</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Descrição</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Esquerda</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Direita</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Recuar</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Avançar</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2974,6 +3138,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Gravar</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_pt_BR.ts b/resources/i18n/OpenBoard_pt_BR.ts index f4da67842..d9ee73139 100644 --- a/resources/i18n/OpenBoard_pt_BR.ts +++ b/resources/i18n/OpenBoard_pt_BR.ts @@ -2445,25 +2445,25 @@ Quer ignorar estes erros deste servidor?</translation> </message> <message> <source>Key sequence already in use</source> - <translation type="vanished">Combinação de teclas já em uso</translation> + <translation>Combinação de teclas já em uso</translation> </message> <message> <source>Mouse button already in use</source> - <translation type="vanished">Botão do mouse já em uso </translation> + <translation>Botão do mouse já em uso </translation> </message> <message> <source>Stylus button already in use</source> - <translation type="vanished">Botão de caneta já em uso</translation> + <translation>Botão de caneta já em uso</translation> </message> <message> <source>Accept</source> <comment>preferencesDialog</comment> - <translation type="vanished">Aceitar</translation> + <translation>Aceitar</translation> </message> <message> <source>Record</source> <comment>preferencesDialog</comment> - <translation type="vanished">Gravar</translation> + <translation>Gravar</translation> </message> <message> <source>Use all available displays</source> @@ -2481,142 +2481,142 @@ Quer ignorar estes erros deste servidor?</translation> <name>UBShortcutManager</name> <message> <source>Common</source> - <translation type="vanished">Frequente</translation> + <translation>Frequente</translation> </message> <message> <source>Board</source> - <translation type="vanished">Quadro</translation> + <translation>Quadro</translation> </message> <message> <source>Stylus Palette</source> - <translation type="vanished">Paleta</translation> + <translation>Paleta</translation> </message> <message> <source>Lines and colours</source> - <translation type="vanished">Linhas e cores</translation> + <translation>Linhas e cores</translation> </message> <message> <source>Background</source> - <translation type="vanished">Fundo</translation> + <translation>Fundo</translation> </message> <message> <source>Podcast</source> - <translation type="vanished">Podcast</translation> + <translation>Podcast</translation> </message> <message> <source>First scene</source> - <translation type="vanished">Primeira cena</translation> + <translation>Primeira cena</translation> </message> <message> <source>Show first scene</source> - <translation type="vanished">Ver primeira cena</translation> + <translation>Ver primeira cena</translation> </message> <message> <source>Last scene</source> - <translation type="vanished">Última cena</translation> + <translation>Última cena</translation> </message> <message> <source>Show last scene</source> - <translation type="vanished">Ver última cena</translation> + <translation>Ver última cena</translation> </message> <message> <source>Zoom reset</source> - <translation type="vanished">Zoom 1:1</translation> + <translation>Zoom 1:1</translation> </message> <message> <source>Reset zoom factor</source> - <translation type="vanished">Redefinir fator de zoom </translation> + <translation>Redefinir fator de zoom </translation> </message> <message> <source>Scroll left</source> - <translation type="vanished">Rolar para a esquerda</translation> + <translation>Rolar para a esquerda</translation> </message> <message> <source>Scroll page left</source> - <translation type="vanished">Rolar página para a esquerda</translation> + <translation>Rolar página para a esquerda</translation> </message> <message> <source>Scroll right</source> - <translation type="vanished">Rolar para a direita</translation> + <translation>Rolar para a direita</translation> </message> <message> <source>Scroll page right</source> - <translation type="vanished">Rolar página para a direita</translation> + <translation>Rolar página para a direita</translation> </message> <message> <source>Scroll up</source> - <translation type="vanished">Rolar para cima</translation> + <translation>Rolar para cima</translation> </message> <message> <source>Scroll page up</source> - <translation type="vanished">Rolar página para cima</translation> + <translation>Rolar página para cima</translation> </message> <message> <source>Scroll down</source> - <translation type="vanished">Rolar para baixo</translation> + <translation>Rolar para baixo</translation> </message> <message> <source>Scroll page down</source> - <translation type="vanished">Rolar página para baixo</translation> + <translation>Rolar página para baixo</translation> </message> <message> <source>Built-in (not editable)</source> - <translation type="vanished">Integrado (não editável)</translation> + <translation>Integrado (não editável)</translation> </message> <message> <source>Command</source> - <translation type="vanished">Comando</translation> + <translation>Comando</translation> </message> <message> <source>Description</source> - <translation type="vanished">Descrição</translation> + <translation>Descrição</translation> </message> <message> <source>Key Sequence</source> - <translation type="vanished">Sequência de Teclas</translation> + <translation>Sequência de Teclas</translation> </message> <message> <source>Mouse Button</source> - <translation type="vanished">Botão do Mouse</translation> + <translation>Botão do Mouse</translation> </message> <message> <source>Tablet Button</source> - <translation type="vanished">Botão da Mesa Digitalizadora</translation> + <translation>Botão da Mesa Digitalizadora</translation> </message> <message> <source>Left</source> <comment>MouseButton</comment> - <translation type="vanished">Esquerdo</translation> + <translation>Esquerdo</translation> </message> <message> <source>Right</source> <comment>MouseButton</comment> - <translation type="vanished">Direito</translation> + <translation>Direito</translation> </message> <message> <source>Middle</source> <comment>MouseButton</comment> - <translation type="vanished">Meio</translation> + <translation>Meio</translation> </message> <message> <source>Back</source> <comment>MouseButton</comment> - <translation type="vanished">Voltar</translation> + <translation>Voltar</translation> </message> <message> <source>Forward</source> <comment>MouseButton</comment> - <translation type="vanished">Avançar</translation> + <translation>Avançar</translation> </message> <message> <source>Task</source> <comment>MouseButton</comment> - <translation type="vanished">Tarefa</translation> + <translation>Tarefa</translation> </message> <message> <source>Extra</source> <comment>MouseButton</comment> - <translation type="vanished">Extra</translation> + <translation>Extra</translation> </message> </context> <context> @@ -3376,43 +3376,43 @@ p, li { white-space: pre-wrap; } </message> <message> <source>Shortcut</source> - <translation type="vanished">Atalho</translation> + <translation>Atalho</translation> </message> <message> <source>Filter</source> - <translation type="vanished">Filtro</translation> + <translation>Filtro</translation> </message> <message> <source>Active keyboard shortcuts without pressing Ctrl key</source> - <translation type="vanished">Ativar atalhos de teclado sem pressionar a tecla Ctrl</translation> + <translation>Ativar atalhos de teclado sem pressionar a tecla Ctrl</translation> </message> <message> <source>Shortcuts</source> - <translation type="vanished">Atalhos</translation> + <translation>Atalhos</translation> </message> <message> <source>Abort</source> - <translation type="vanished">Abortar</translation> + <translation>Abortar</translation> </message> <message> <source>Record</source> - <translation type="vanished">Gravar</translation> + <translation>Gravar</translation> </message> <message> <source>Stylus Button</source> - <translation type="vanished">Botão da Caneta</translation> + <translation>Botão da Caneta</translation> </message> <message> <source>Mouse Button</source> - <translation type="vanished">Botão do Mouse</translation> + <translation>Botão do Mouse</translation> </message> <message> <source>Reset</source> - <translation type="vanished">Reiniciar</translation> + <translation>Reiniciar</translation> </message> <message> <source>Key Sequence</source> - <translation type="vanished">Sequência de Teclas</translation> + <translation>Sequência de Teclas</translation> </message> <message> <source>Improve zoom execution time (can slightly affect rendering quality)</source> diff --git a/resources/i18n/OpenBoard_ro.ts b/resources/i18n/OpenBoard_ro.ts index c39cce163..4105363e0 100644 --- a/resources/i18n/OpenBoard_ro.ts +++ b/resources/i18n/OpenBoard_ro.ts @@ -2286,6 +2286,28 @@ Doriţi să ignoraţi aceste erori pentru acest host?</translation> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Acceptare</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Înregistrare</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2294,6 +2316,148 @@ Doriţi să ignoraţi aceste erori pentru acest host?</translation> <translation>Filmele mele</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Tablă</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Paletă stilou</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Descriere</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Stânga</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Dreapta</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Înapoi</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Înainte</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2976,6 +3140,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Înregistrare</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_ru.ts b/resources/i18n/OpenBoard_ru.ts index 505c952a6..2336e5a4d 100644 --- a/resources/i18n/OpenBoard_ru.ts +++ b/resources/i18n/OpenBoard_ru.ts @@ -2311,6 +2311,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Принять</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Запись</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2319,6 +2341,148 @@ Do you want to ignore these errors for this host?</source> <translation>Мои видеофайлы</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Доска</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Инструменты</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Подкаст</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Описание</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Влево</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Вправо</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Назад</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Вперед</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -3005,6 +3169,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Запись</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_sk.ts b/resources/i18n/OpenBoard_sk.ts index df96f6d50..d8f8d3b06 100644 --- a/resources/i18n/OpenBoard_sk.ts +++ b/resources/i18n/OpenBoard_sk.ts @@ -2294,6 +2294,28 @@ Chcete ignorovať tieto chyby na tomto serveri?</translation> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Prijať</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Nahrávať</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2302,6 +2324,148 @@ Chcete ignorovať tieto chyby na tomto serveri?</translation> <translation>Moje filmy</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Tabuľa</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Paleta pre interaktívne pero</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Popis</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Doľava</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Doprava</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Predošlá</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Ďalšia</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2989,6 +3153,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Nahrávať</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_sv.ts b/resources/i18n/OpenBoard_sv.ts index a150c57f2..2d30dba51 100644 --- a/resources/i18n/OpenBoard_sv.ts +++ b/resources/i18n/OpenBoard_sv.ts @@ -2287,6 +2287,28 @@ Vill du ignorera felen för den här värden?</translation> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Acceptera</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Spela in</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2295,6 +2317,148 @@ Vill du ignorera felen för den här värden?</translation> <translation>Mina filmer</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Tavla</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Pekpennans palett</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Beskrivning</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Vänster</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Höger</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Backa</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Framåt</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2977,6 +3141,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Spela in</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_tr.ts b/resources/i18n/OpenBoard_tr.ts index b177f9336..8ab904d45 100644 --- a/resources/i18n/OpenBoard_tr.ts +++ b/resources/i18n/OpenBoard_tr.ts @@ -2295,6 +2295,28 @@ Bu ana bilgisayar için yukarıdaki hatalar yok sayılsın mı?</translation> <source>Use all available displays</source> <translation>Tüm kullanılabilir ekranları kullan</translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Kabul Et</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Kayıt</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2303,6 +2325,148 @@ Bu ana bilgisayar için yukarıdaki hatalar yok sayılsın mı?</translation> <translation>Filimlerim</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Tahta</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Kalemler Paleti</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Ekran Kaydı</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Açıklama</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Sol</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Sağ</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Geri</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">İleri</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2990,6 +3154,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation>Denetim, Görüntü ve Önceki sayfalar için kullanılan ekranların listesi</translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Kayıt</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_uk.ts b/resources/i18n/OpenBoard_uk.ts index 9ba4280c5..815d951c8 100644 --- a/resources/i18n/OpenBoard_uk.ts +++ b/resources/i18n/OpenBoard_uk.ts @@ -2293,6 +2293,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Прийняти</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">Запис</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2301,6 +2323,148 @@ Do you want to ignore these errors for this host?</source> <translation>Мої відеофайли</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">Дошка</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Інструменти</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Подкаст</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">Опис</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">Вліво</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">Вправо</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">Назад</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">Вперед</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2987,6 +3151,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">Запис</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_zh.ts b/resources/i18n/OpenBoard_zh.ts index c796326f4..830525bca 100644 --- a/resources/i18n/OpenBoard_zh.ts +++ b/resources/i18n/OpenBoard_zh.ts @@ -2312,6 +2312,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">接受</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">录制</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2320,6 +2342,148 @@ Do you want to ignore these errors for this host?</source> <translation>我的视频</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">演示板</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">工具面板</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">播客</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">描述</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">向左</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">向右</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">后退</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">前进</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -3010,6 +3174,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">录制</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_zh_CN.ts b/resources/i18n/OpenBoard_zh_CN.ts index ccf283bfa..d37ba6102 100644 --- a/resources/i18n/OpenBoard_zh_CN.ts +++ b/resources/i18n/OpenBoard_zh_CN.ts @@ -2314,6 +2314,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation>使用所有可用的显示</translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">接受</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">录制</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2322,6 +2344,148 @@ Do you want to ignore these errors for this host?</source> <translation>我的视频</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished">白板</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">工具面板</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">播客</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">详情</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">向左</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">向右</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">后退</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">前进</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -3013,6 +3177,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation>用于控制、显示和上一页的屏幕列表</translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">录制</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/resources/i18n/OpenBoard_zh_TW.ts b/resources/i18n/OpenBoard_zh_TW.ts index 510981a8d..ff4d686b5 100644 --- a/resources/i18n/OpenBoard_zh_TW.ts +++ b/resources/i18n/OpenBoard_zh_TW.ts @@ -2300,6 +2300,28 @@ Do you want to ignore these errors for this host?</source> <source>Use all available displays</source> <translation type="unfinished"></translation> </message> + <message> + <source>Key sequence already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus button already in use</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Accept</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">接受</translation> + </message> + <message> + <source>Record</source> + <comment>preferencesDialog</comment> + <translation type="unfinished">錄製</translation> + </message> </context> <context> <name>UBSettings</name> @@ -2308,6 +2330,148 @@ Do you want to ignore these errors for this host?</source> <translation>我的影片</translation> </message> </context> +<context> + <name>UBShortcutManager</name> + <message> + <source>Common</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Board</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">桌面工具</translation> + </message> + <message> + <source>Lines and colours</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Podcast</source> + <translation type="unfinished">Podcast</translation> + </message> + <message> + <source>First scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show first scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Show last scene</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Zoom reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset zoom factor</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page left</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page right</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page up</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Scroll page down</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Built-in (not editable)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Command</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Description</source> + <translation type="unfinished">描述</translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Tablet Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Left</source> + <comment>MouseButton</comment> + <translation type="unfinished">向左</translation> + </message> + <message> + <source>Right</source> + <comment>MouseButton</comment> + <translation type="unfinished">向右</translation> + </message> + <message> + <source>Middle</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Back</source> + <comment>MouseButton</comment> + <translation type="unfinished">退回</translation> + </message> + <message> + <source>Forward</source> + <comment>MouseButton</comment> + <translation type="unfinished">前進</translation> + </message> + <message> + <source>Task</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> + <message> + <source>Extra</source> + <comment>MouseButton</comment> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>UBStartupHintsPalette</name> <message> @@ -2983,6 +3147,46 @@ p, li { white-space: pre-wrap; } <source>List of screens used for Control, Display and Previous pages</source> <translation type="unfinished"></translation> </message> + <message> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Filter</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Active keyboard shortcuts without pressing Ctrl key</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Abort</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Record</source> + <translation type="unfinished">錄製</translation> + </message> + <message> + <source>Stylus Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mouse Button</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Reset</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Key Sequence</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>trapFlashDialog</name> diff --git a/src/core/UBShortcutManager.cpp b/src/core/UBShortcutManager.cpp index e4afaa55c..3618efdcb 100644 --- a/src/core/UBShortcutManager.cpp +++ b/src/core/UBShortcutManager.cpp @@ -43,7 +43,7 @@ UBShortcutManager* UBShortcutManager::sShortcutManager = nullptr; UBShortcutManager::UBShortcutManager() : mIgnoreCtrl(false) { - actionsOfGroup(QObject::tr("Common")); + actionsOfGroup(tr("Common")); } UBShortcutManager *UBShortcutManager::shortcutManager()
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor