ClipboardBrowser::ClipboardBrowser(QWidget *parent, const ClipboardBrowserSharedPtr &sharedData) : QListView(parent) , m_itemLoader() , m_tabName() , m_lastFiltered(-1) , m(this) , d(this) , m_invalidateCache(false) , m_expireAfterEditing(false) , m_editor(NULL) , m_sharedData(sharedData ? sharedData : ClipboardBrowserSharedPtr(new ClipboardBrowserShared)) , m_loadButton(NULL) , m_searchProgress(NULL) , m_dragTargetRow(-1) , m_dragStartPosition() , m_spinLock(0) , m_scrollSaver() { setLayoutMode(QListView::Batched); setBatchSize(1); setFrameShape(QFrame::NoFrame); setTabKeyNavigation(false); setSelectionMode(QAbstractItemView::ExtendedSelection); setWrapping(false); setLayoutMode(QListView::SinglePass); setEditTriggers(QAbstractItemView::NoEditTriggers); setAlternatingRowColors(true); initSingleShotTimer( &m_timerSave, 30000, this, SLOT(saveItems()) ); initSingleShotTimer( &m_timerScroll, 50 ); initSingleShotTimer( &m_timerUpdate, 10, this, SLOT(doUpdateCurrentPage()) ); initSingleShotTimer( &m_timerFilter, 10, this, SLOT(filterItems()) ); initSingleShotTimer( &m_timerExpire, 0, this, SLOT(expire()) ); // ScrollPerItem doesn't work well with hidden items setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); connect( verticalScrollBar(), SIGNAL(valueChanged(int)), SLOT(updateCurrentPage()) ); setAttribute(Qt::WA_MacShowFocusRect, 0); setAcceptDrops(true); connectModelAndDelegate(); }
void Notification::setInterval(int msec) { if (msec >= 0) { initSingleShotTimer( &m_timer, msec, this, SLOT(onTimeout()) ); m_timer.start(); } else { m_timer.stop(); } }
ShortcutsWidget::ShortcutsWidget(QWidget *parent) : QWidget(parent) , ui(new Ui::ShortcutsWidget) { ui->setupUi(this); ui->tableWidget->setColumnCount(Columns::Count); ui->tableWidget->horizontalHeader()->setStretchLastSection(true); ui->tableWidget->horizontalHeader()->hide(); ui->tableWidget->horizontalHeader()->resizeSection(Columns::Empty, 0); ui->tableWidget->verticalHeader()->hide(); const int iconSize = iconFontSizePixels(); ui->tableWidget->setIconSize(QSize(iconSize, iconSize)); initSingleShotTimer( &m_timerCheckAmbiguous, 0, this, SLOT(checkAmbiguousShortcuts()) ); }
ShortcutsWidget::ShortcutsWidget(QWidget *parent) : QWidget(parent) , ui(new Ui::ShortcutsWidget) { ui->setupUi(this); connect(ui->lineEditFilter, &QLineEdit::textChanged, this, &ShortcutsWidget::onLineEditFilterTextChanged); ui->tableWidget->setColumnCount(Columns::Count); ui->tableWidget->horizontalHeader()->setStretchLastSection(true); ui->tableWidget->horizontalHeader()->hide(); ui->tableWidget->verticalHeader()->hide(); const int iconSize = iconFontSizePixels(); ui->tableWidget->setIconSize(QSize(iconSize, iconSize)); initSingleShotTimer( &m_timerCheckAmbiguous, 0, this, &ShortcutsWidget::checkAmbiguousShortcuts ); }
void ClipboardDialog::setData(const QVariantMap &data) { const QString currentFormat = ui->listWidgetFormats->currentIndex().data().toString(); ui->listWidgetFormats->clear(); m_data.clear(); // Show only data that can be displayed. foreach ( const QString &mime, data.keys() ) { if ( data[mime].canConvert<QByteArray>() ) { m_data.insert(mime, data[mime]); ui->listWidgetFormats->addItem(mime); if (mime == currentFormat) { ui->listWidgetFormats->setCurrentRow( ui->listWidgetFormats->count() - 1); } } } initSingleShotTimer(&m_timerTextLoad, 10, this, SLOT(addText())); }
void ClipboardDialog::setData(const QVariantMap &data) { const QString currentFormat = ui->listWidgetFormats->currentIndex().data().toString(); ui->listWidgetFormats->clear(); m_data.clear(); // Show only data that can be displayed. for (auto it = data.constBegin(); it != data.constEnd(); ++it) { const auto &mime = it.key(); const auto &bytes = it.value(); if ( bytes.canConvert<QByteArray>() ) { m_data.insert(mime, bytes); ui->listWidgetFormats->addItem(mime); if (mime == currentFormat) { ui->listWidgetFormats->setCurrentRow( ui->listWidgetFormats->count() - 1); } } } initSingleShotTimer(&m_timerTextLoad, 10, this, &ClipboardDialog::addText); }
Decorator(const QRegExp &re, QObject *parent) : QObject(parent) , m_re(re) { initSingleShotTimer(&m_timerDecorate, 0, this, &Decorator::decorateBatch); }