Skip to content

Commit

Permalink
Option to temporarily disable clipboard saving
Browse files Browse the repository at this point in the history
  • Loading branch information
hluk committed May 4, 2013
1 parent a748391 commit a15ffaa
Show file tree
Hide file tree
Showing 14 changed files with 589 additions and 321 deletions.
18 changes: 3 additions & 15 deletions src/clipboardmonitor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,6 @@ ClipboardMonitor::ClipboardMonitor(int &argc, char **argv)
, App(new QApplication(argc, argv))
, m_formats()
, m_newdata()
, m_checkclip(false)
#ifdef COPYQ_WS_X11
, m_copyclip(false)
, m_checksel(false)
Expand Down Expand Up @@ -234,11 +233,8 @@ void ClipboardMonitor::checkClipboard(QClipboard::Mode mode)
.arg(mode == QClipboard::Clipboard ? "clipboard" : "selection") );
#ifdef COPYQ_WS_X11
if (mode == QClipboard::Clipboard) {
if ( (!m_checkclip && !m_copyclip) ||
QApplication::clipboard()->ownsClipboard() )
{
if ( QApplication::clipboard()->ownsClipboard() )
return;
}
} else if (mode == QClipboard::Selection) {
if ( (!m_checksel && !m_copysel) ||
QApplication::clipboard()->ownsSelection() ||
Expand All @@ -251,11 +247,8 @@ void ClipboardMonitor::checkClipboard(QClipboard::Mode mode)
}
#else /* !COPYQ_WS_X11 */
// check if clipboard data are needed
if (mode != QClipboard::Clipboard || !m_checkclip ||
QApplication::clipboard()->ownsClipboard())
{
if (mode != QClipboard::Clipboard || QApplication::clipboard()->ownsClipboard())
return;
}
#endif

// get clipboard data
Expand Down Expand Up @@ -284,10 +277,7 @@ void ClipboardMonitor::checkClipboard(QClipboard::Mode mode)
if (mode == QClipboard::Clipboard) {
if (m_copyclip)
m_x11->synchronize(data2, QClipboard::Selection);
if (m_checkclip)
clipboardChanged(mode, data2);
else
delete data2;
clipboardChanged(mode, data2);
} else {
if (m_copysel)
m_x11->synchronize(data2, QClipboard::Clipboard);
Expand Down Expand Up @@ -364,8 +354,6 @@ void ClipboardMonitor::readyRead()

if ( settings.contains("formats") )
m_formats = settings["formats"].toStringList();
if ( settings.contains("check_clipboard") )
m_checkclip = settings["check_clipboard"].toBool();
#ifdef COPYQ_WS_X11
if ( settings.contains("copy_clipboard") )
m_copyclip = settings["copy_clipboard"].toBool();
Expand Down
15 changes: 13 additions & 2 deletions src/clipboardserver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ ClipboardServer::ClipboardServer(int &argc, char **argv)
, m_server(NULL)
, m_wnd(NULL)
, m_monitor(NULL)
, m_checkclip(false)
, m_lastHash(0)
, m_shortcutActions()
{
Expand Down Expand Up @@ -209,7 +210,7 @@ void ClipboardServer::loadMonitorSettings()

QVariantMap settings;
settings["formats"] = ItemFactory::instance()->formatsToSave();
settings["check_clipboard"] = cm->value("check_clipboard");
m_checkclip = cm->value("check_clipboard").toBool();
#ifdef COPYQ_WS_X11
settings["copy_clipboard"] = cm->value("copy_clipboard");
settings["copy_selection"] = cm->value("copy_selection");
Expand Down Expand Up @@ -298,7 +299,7 @@ void ClipboardServer::newMonitorMessage(const QByteArray &message)

m_wnd->clipboardChanged(&item);

if ( m_lastHash != item.dataHash() ) {
if ( m_checkclip && m_lastHash != item.dataHash() ) {
m_lastHash = item.dataHash();
m_wnd->addToTab( item.data() );
}
Expand Down Expand Up @@ -495,6 +496,16 @@ void ClipboardServer::loadSettings()
args->append("eval");
args->append("copy(clipboard()); paste()");
}

key = cm->value("disable_monitoring_shortcut").toString();
args = createGlobalShortcut(key);
if (args)
args->append("disable");

key = cm->value("enable_monitoring_shortcut").toString();
args = createGlobalShortcut(key);
if (args)
args->append("enable");
#endif

// reload clipboard monitor configuration
Expand Down
71 changes: 11 additions & 60 deletions src/configurationmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -142,17 +142,12 @@ ConfigurationManager::ConfigurationManager()
m_options["command_history_size"] = Option(100);
m_options["_last_hash"] = Option(0);
#ifndef NO_GLOBAL_SHORTCUTS
/* shortcuts */
m_options["toggle_shortcut"] = Option("", "text", ui->pushButton);
m_options["menu_shortcut"] = Option("", "text", ui->pushButton_2);
m_options["edit_clipboard_shortcut"] = Option("", "text", ui->pushButton_3);
m_options["edit_shortcut"] = Option("", "text", ui->pushButton_4);
m_options["second_shortcut"] = Option("", "text", ui->pushButton_5);
m_options["show_action_dialog"] = Option("", "text", ui->pushButton_6);
m_options["new_item_shortcut"] = Option("", "text", ui->pushButton_7);
m_options["next_item_shortcut"] = Option("", "text", ui->pushButton_8);
m_options["previous_item_shortcut"] = Option("", "text", ui->pushButton_9);
m_options["paste_as_plain_text"] = Option("", "text", ui->pushButton_10);
/* shortcuts -- generate options from UI (button text is key for shortcut option) */
foreach (QPushButton *button, ui->scrollAreaShortcuts->findChildren<QPushButton *>()) {
QString text = button->text();
m_options[text] = Option("", "text", button);
connect(button, SIGNAL(clicked()), SLOT(onShortcutButtonClicked()));
}
#endif
#ifdef COPYQ_WS_X11
/* X11 clipboard selection monitoring and synchronization */
Expand Down Expand Up @@ -931,15 +926,15 @@ void ConfigurationManager::updateCommandItem(QListWidgetItem *item)
list->blockSignals(false);
}

void ConfigurationManager::shortcutButtonClicked(QPushButton *button)
void ConfigurationManager::shortcutButtonClicked(QObject *button)
{
ShortcutDialog *dialog = new ShortcutDialog(this);
if (dialog->exec() == QDialog::Accepted) {
QKeySequence shortcut = dialog->shortcut();
QString text;
if ( !shortcut.isEmpty() )
text = shortcut.toString(QKeySequence::NativeText);
button->setText(text);
button->setProperty("text", text);
}
}

Expand Down Expand Up @@ -970,54 +965,10 @@ void ConfigurationManager::colorButtonClicked(QPushButton *button)
}
}

void ConfigurationManager::on_pushButton_clicked()
{
shortcutButtonClicked(ui->pushButton);
}

void ConfigurationManager::on_pushButton_2_clicked()
{
shortcutButtonClicked(ui->pushButton_2);
}

void ConfigurationManager::on_pushButton_3_clicked()
{
shortcutButtonClicked(ui->pushButton_3);
}

void ConfigurationManager::on_pushButton_4_clicked()
{
shortcutButtonClicked(ui->pushButton_4);
}

void ConfigurationManager::on_pushButton_5_clicked()
{
shortcutButtonClicked(ui->pushButton_5);
}

void ConfigurationManager::on_pushButton_6_clicked()
{
shortcutButtonClicked(ui->pushButton_6);
}

void ConfigurationManager::on_pushButton_7_clicked()
{
shortcutButtonClicked(ui->pushButton_7);
}

void ConfigurationManager::on_pushButton_8_clicked()
{
shortcutButtonClicked(ui->pushButton_8);
}

void ConfigurationManager::on_pushButton_9_clicked()
{
shortcutButtonClicked(ui->pushButton_9);
}

void ConfigurationManager::on_pushButton_10_clicked()
void ConfigurationManager::onShortcutButtonClicked()
{
shortcutButtonClicked(ui->pushButton_10);
Q_ASSERT(sender() != NULL);
shortcutButtonClicked(sender());
}

void ConfigurationManager::on_listWidgetCommands_currentItemChanged(
Expand Down
2 changes: 2 additions & 0 deletions src/copyq.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@
<file>images/tab_rename.svg</file>
<file>images/tab_remove.svg</file>
<file>images/fontawesome-webfont.ttf</file>
<file>images/icon-disabled.svg</file>
<file>images/icon-disabled-running.svg</file>
</qresource>
</RCC>
92 changes: 92 additions & 0 deletions src/images/icon-disabled-running.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
92 changes: 92 additions & 0 deletions src/images/icon-disabled.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion src/include/clipboardmonitor.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ class ClipboardMonitor : public QObject, public App
private:
QStringList m_formats;
QScopedPointer<QMimeData> m_newdata;
bool m_checkclip;
#ifdef COPYQ_WS_X11
bool m_copyclip;
bool m_checksel;
Expand Down
Loading

0 comments on commit a15ffaa

Please sign in to comment.