本文整理汇总了C++中KActionCollection::addAssociatedWidget方法的典型用法代码示例。如果您正苦于以下问题:C++ KActionCollection::addAssociatedWidget方法的具体用法?C++ KActionCollection::addAssociatedWidget怎么用?C++ KActionCollection::addAssociatedWidget使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KActionCollection
的用法示例。
在下文中一共展示了KActionCollection::addAssociatedWidget方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QWidget
KOEditorAttachments::KOEditorAttachments( int spacing, QWidget *parent )
: QWidget( parent )
{
QBoxLayout *topLayout = new QHBoxLayout( this );
topLayout->setSpacing( spacing );
QLabel *label = new QLabel( i18nc( "@label", "Attachments:" ), this );
topLayout->addWidget( label );
mAttachments = new AttachmentIconView( this );
mAttachments->setWhatsThis( i18nc( "@info:whatsthis",
"Displays items (files, mail, etc.) that "
"have been associated with this event or to-do." ) );
mAttachments->setItemsMovable( false );
mAttachments->setSelectionMode( Q3IconView::Extended );
topLayout->addWidget( mAttachments );
connect( mAttachments, SIGNAL(returnPressed(Q3IconViewItem *)),
SLOT(showAttachment(Q3IconViewItem *)) );
connect( mAttachments, SIGNAL(doubleClicked(Q3IconViewItem *)),
SLOT(showAttachment(Q3IconViewItem *)) );
connect( mAttachments, SIGNAL(itemRenamed(Q3IconViewItem *,const QString &)),
SLOT(slotItemRenamed(Q3IconViewItem *,const QString &)) );
connect( mAttachments, SIGNAL(dropped(QDropEvent *,const Q3ValueList<Q3IconDragItem> &)),
SLOT(dropped(QDropEvent *,const Q3ValueList<Q3IconDragItem> &)) );
connect( mAttachments, SIGNAL(selectionChanged()),
SLOT(selectionChanged()) );
connect( mAttachments, SIGNAL(contextMenuRequested(Q3IconViewItem *,const QPoint &)),
SLOT(contextMenu(Q3IconViewItem *,const QPoint &)) );
QPushButton *addButton = new QPushButton( this );
addButton->setIcon( KIcon( "list-add" ) );
addButton->setToolTip( i18nc( "@info:tooltip", "Add an attachment" ) );
addButton->setWhatsThis( i18nc( "@info:whatsthis",
"Shows a dialog used to select an attachment "
"to add to this event or to-do as link or as "
"inline data." ) );
topLayout->addWidget( addButton );
connect( addButton, SIGNAL(clicked()), SLOT(slotAdd()) );
mRemoveBtn = new QPushButton( this );
mRemoveBtn->setIcon( KIcon( "list-remove" ) );
mRemoveBtn->setToolTip( i18nc( "@info:tooltip", "Remove the selected attachment" ) );
mRemoveBtn->setWhatsThis( i18nc( "@info:whatsthis",
"Removes the attachment selected in the "
"list above from this event or to-do." ) );
topLayout->addWidget( mRemoveBtn );
connect( mRemoveBtn, SIGNAL(clicked()), SLOT(slotRemove()) );
KActionCollection *ac = new KActionCollection( this );
ac->addAssociatedWidget( this );
mPopupMenu = new KMenu( this );
mOpenAction = new KAction( i18nc( "@action:inmenu open the attachment in a viewer",
"&Open" ), this );
connect( mOpenAction, SIGNAL(triggered(bool)), this, SLOT(slotShow()) );
ac->addAction( "view", mOpenAction );
mPopupMenu->addAction( mOpenAction );
mPopupMenu->addSeparator();
mCopyAction = KStandardAction::copy( this, SLOT(slotCopy()), ac );
mPopupMenu->addAction( mCopyAction );
mCutAction = KStandardAction::cut( this, SLOT(slotCut()), ac );
mPopupMenu->addAction( mCutAction );
KAction *action = KStandardAction::paste( this, SLOT(slotPaste()), ac );
mPopupMenu->addAction( action );
mPopupMenu->addSeparator();
mDeleteAction = new KAction( i18nc( "@action:inmenu remove the attachment",
"&Remove" ), this );
connect( mDeleteAction, SIGNAL(triggered(bool)), this, SLOT(slotRemove()) );
ac->addAction( "remove", mDeleteAction );
mPopupMenu->addAction( mDeleteAction );
mPopupMenu->addSeparator();
mEditAction = new KAction( i18nc( "@action:inmenu show a dialog used to edit the attachment",
"&Properties..." ), this );
connect( mEditAction, SIGNAL(triggered(bool)), this, SLOT(slotEdit()) );
ac->addAction( "edit", mEditAction );
mPopupMenu->addAction( mEditAction );
selectionChanged();
setAcceptDrops( true );
}
示例2: config
//.........这里部分代码省略.........
mSoundPicker = new SoundPicker(group);
mSoundPicker->setFixedSize(mSoundPicker->sizeHint());
hlayout->addWidget(mSoundPicker);
hlayout->addSpacing(2 * style()->pixelMetric(QStyle::PM_DefaultLayoutSpacing));
hlayout->addStretch();
// Font and colour choice button and sample text
mFontColourButton = new FontColourButton(group);
mFontColourButton->setMaximumHeight(mFontColourButton->sizeHint().height() * 3/2);
hlayout->addWidget(mFontColourButton);
connect(mFontColourButton, &FontColourButton::selected, this, &BirthdayDlg::setColours);
// How much advance warning to give
mReminder = new Reminder(i18nc("@info:whatsthis", "Check to display a reminder in advance of or after the birthday."),
i18nc("@info:whatsthis", "Enter the number of days before or after each birthday to display a reminder. "
"This is in addition to the alarm which is displayed on the birthday."),
i18nc("@info:whatsthis", "Select whether the reminder should be triggered before or after the birthday."),
false, false, group);
mReminder->setFixedSize(mReminder->sizeHint());
mReminder->setMaximum(0, 364);
mReminder->setMinutes(0, true);
groupLayout->addWidget(mReminder, 0, Qt::AlignLeft);
// Acknowledgement confirmation required - default = no confirmation
hlayout = new QHBoxLayout();
hlayout->setMargin(0);
hlayout->setSpacing(2 * style()->pixelMetric(QStyle::PM_DefaultLayoutSpacing));
groupLayout->addLayout(hlayout);
mConfirmAck = EditDisplayAlarmDlg::createConfirmAckCheckbox(group);
mConfirmAck->setFixedSize(mConfirmAck->sizeHint());
hlayout->addWidget(mConfirmAck);
hlayout->addSpacing(2 * style()->pixelMetric(QStyle::PM_DefaultLayoutSpacing));
hlayout->addStretch();
if (ShellProcess::authorised()) // don't display if shell commands not allowed (e.g. kiosk mode)
{
// Special actions button
mSpecialActionsButton = new SpecialActionsButton(false, group);
mSpecialActionsButton->setFixedSize(mSpecialActionsButton->sizeHint());
hlayout->addWidget(mSpecialActionsButton);
}
// Late display checkbox - default = allow late display
hlayout = new QHBoxLayout();
hlayout->setMargin(0);
hlayout->setSpacing(2 * style()->pixelMetric(QStyle::PM_DefaultLayoutSpacing));
groupLayout->addLayout(hlayout);
mLateCancel = new LateCancelSelector(false, group);
mLateCancel->setFixedSize(mLateCancel->sizeHint());
hlayout->addWidget(mLateCancel);
hlayout->addStretch();
// Sub-repetition button
mSubRepetition = new RepetitionButton(i18nc("@action:button", "Sub-Repetition"), false, group);
mSubRepetition->setFixedSize(mSubRepetition->sizeHint());
mSubRepetition->set(Repetition(), true, 364*24*60);
mSubRepetition->setWhatsThis(i18nc("@info:whatsthis", "Set up an additional alarm repetition"));
hlayout->addWidget(mSubRepetition);
// Set the values to their defaults
setColours(Preferences::defaultFgColour(), Preferences::defaultBgColour());
mFontColourButton->setDefaultFont();
mFontColourButton->setBgColour(Preferences::defaultBgColour());
mFontColourButton->setFgColour(Preferences::defaultFgColour());
mLateCancel->setMinutes(Preferences::defaultLateCancel(), true, TimePeriod::Days);
mConfirmAck->setChecked(Preferences::defaultConfirmAck());
mSoundPicker->set(Preferences::defaultSoundType(), Preferences::defaultSoundFile(),
Preferences::defaultSoundVolume(), -1, 0, Preferences::defaultSoundRepeat());
if (mSpecialActionsButton)
{
KAEvent::ExtraActionOptions opts(0);
if (Preferences::defaultExecPreActionOnDeferral())
opts |= KAEvent::ExecPreActOnDeferral;
if (Preferences::defaultCancelOnPreActionError())
opts |= KAEvent::CancelOnPreActError;
if (Preferences::defaultDontShowPreActionError())
opts |= KAEvent::DontShowPreActError;
mSpecialActionsButton->setActions(Preferences::defaultPreAction(), Preferences::defaultPostAction(), opts);
}
mButtonBox = new QDialogButtonBox(this);
mButtonBox->addButton(QDialogButtonBox::Ok);
mButtonBox->addButton(QDialogButtonBox::Cancel);
connect(mButtonBox, &QDialogButtonBox::accepted,
this, &BirthdayDlg::slotOk);
connect(mButtonBox, &QDialogButtonBox::rejected,
this, &QDialog::reject);
topLayout->addWidget(mButtonBox);
KActionCollection* actions = new KActionCollection(this);
KStandardAction::selectAll(mListView, SLOT(selectAll()), actions);
KStandardAction::deselect(mListView, SLOT(clearSelection()), actions);
actions->addAssociatedWidget(mListView);
foreach (QAction* action, actions->actions())
action->setShortcutContext(Qt::WidgetWithChildrenShortcut);
mButtonBox->button(QDialogButtonBox::Ok)->setEnabled(false); // only enable OK button when something is selected
}
示例3: config
//.........这里部分代码省略.........
mListView->setTextElideMode(Qt::ElideRight);
mListView->header()->setResizeMode(BirthdayModel::NameColumn, QHeaderView::Stretch);
mListView->header()->setResizeMode(BirthdayModel::DateColumn, QHeaderView::ResizeToContents);
connect(mListView->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&,const QItemSelection&)), SLOT(slotSelectionChanged()));
mListView->setWhatsThis(i18nc("@info:whatsthis",
"<para>Select birthdays to set alarms for.<nl/>"
"This list shows all birthdays in <application>KAddressBook</application> except those for which alarms already exist.</para>"
"<para>You can select multiple birthdays at one time by dragging the mouse over the list, "
"or by clicking the mouse while pressing Ctrl or Shift.</para>"));
layout->addWidget(mListView);
group = new QGroupBox(i18nc("@title:group", "Alarm Configuration"), topWidget);
topLayout->addWidget(group);
QVBoxLayout* groupLayout = new QVBoxLayout(group);
groupLayout->setMargin(marginHint());
groupLayout->setSpacing(spacingHint());
// Sound checkbox and file selector
QHBoxLayout* hlayout = new QHBoxLayout();
hlayout->setMargin(0);
groupLayout->addLayout(hlayout);
mSoundPicker = new SoundPicker(group);
mSoundPicker->setFixedSize(mSoundPicker->sizeHint());
hlayout->addWidget(mSoundPicker);
hlayout->addSpacing(2*spacingHint());
hlayout->addStretch();
// Font and colour choice button and sample text
mFontColourButton = new FontColourButton(group);
mFontColourButton->setMaximumHeight(mFontColourButton->sizeHint().height() * 3/2);
hlayout->addWidget(mFontColourButton);
connect(mFontColourButton, SIGNAL(selected(const QColor&, const QColor&)), SLOT(setColours(const QColor&, const QColor&)));
// How much advance warning to give
mReminder = new Reminder(i18nc("@info:whatsthis", "Check to display a reminder in advance of the birthday."),
i18nc("@info:whatsthis", "Enter the number of days before each birthday to display a reminder. "
"This is in addition to the alarm which is displayed on the birthday."),
false, false, group);
mReminder->setFixedSize(mReminder->sizeHint());
mReminder->setMaximum(0, 364);
mReminder->setMinutes(0, true);
groupLayout->addWidget(mReminder, 0, Qt::AlignLeft);
// Acknowledgement confirmation required - default = no confirmation
hlayout = new QHBoxLayout();
hlayout->setMargin(0);
hlayout->setSpacing(2*spacingHint());
groupLayout->addLayout(hlayout);
mConfirmAck = EditDisplayAlarmDlg::createConfirmAckCheckbox(group);
mConfirmAck->setFixedSize(mConfirmAck->sizeHint());
hlayout->addWidget(mConfirmAck);
hlayout->addSpacing(2*spacingHint());
hlayout->addStretch();
if (ShellProcess::authorised()) // don't display if shell commands not allowed (e.g. kiosk mode)
{
// Special actions button
mSpecialActionsButton = new SpecialActionsButton(false, group);
mSpecialActionsButton->setFixedSize(mSpecialActionsButton->sizeHint());
hlayout->addWidget(mSpecialActionsButton);
}
// Late display checkbox - default = allow late display
hlayout = new QHBoxLayout();
hlayout->setMargin(0);
hlayout->setSpacing(2*spacingHint());
groupLayout->addLayout(hlayout);
mLateCancel = new LateCancelSelector(false, group);
mLateCancel->setFixedSize(mLateCancel->sizeHint());
hlayout->addWidget(mLateCancel);
hlayout->addStretch();
// Sub-repetition button
mSubRepetition = new RepetitionButton(i18nc("@action:button", "Sub-Repetition"), false, group);
mSubRepetition->setFixedSize(mSubRepetition->sizeHint());
mSubRepetition->set(Repetition(), true, 364*24*60);
mSubRepetition->setWhatsThis(i18nc("@info:whatsthis", "Set up an additional alarm repetition"));
hlayout->addWidget(mSubRepetition);
// Set the values to their defaults
setColours(Preferences::defaultFgColour(), Preferences::defaultBgColour());
mFontColourButton->setDefaultFont();
mFontColourButton->setBgColour(Preferences::defaultBgColour());
mFontColourButton->setFgColour(Preferences::defaultFgColour());
mLateCancel->setMinutes(Preferences::defaultLateCancel(), true, TimePeriod::Days);
mConfirmAck->setChecked(Preferences::defaultConfirmAck());
mSoundPicker->set(Preferences::defaultSoundType(), Preferences::defaultSoundFile(),
Preferences::defaultSoundVolume(), -1, 0, Preferences::defaultSoundRepeat());
if (mSpecialActionsButton)
mSpecialActionsButton->setActions(Preferences::defaultPreAction(), Preferences::defaultPostAction(), Preferences::defaultCancelOnPreActionError());
KActionCollection* actions = new KActionCollection(this);
KStandardAction::selectAll(mListView, SLOT(selectAll()), actions);
KStandardAction::deselect(mListView, SLOT(clearSelection()), actions);
actions->addAssociatedWidget(mListView);
foreach (QAction* action, actions->actions())
action->setShortcutContext(Qt::WidgetWithChildrenShortcut);
enableButtonOk(false); // only enable OK button when something is selected
}