本文整理汇总了C++中destroyed函数的典型用法代码示例。如果您正苦于以下问题:C++ destroyed函数的具体用法?C++ destroyed怎么用?C++ destroyed使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了destroyed函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: QWidget
QWidget* PathChooserDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &) const
{
QTreeWidgetItem *item = tree_->currentItem();
if (!item) {
return NULL;
}
path_item_ = item;
path_editor_ = new QWidget(parent);
QHBoxLayout *hbox = new QHBoxLayout(path_editor_);
path_editor_->setLayout(hbox);
path_le_ = new QLineEdit(path_editor_);
QPushButton *pb = new QPushButton(path_editor_);
path_le_->setText(item->text(col_p_pipe_));
pb->setText(QString(tr("Browse" UTF8_HORIZONTAL_ELLIPSIS)));
hbox->setContentsMargins(0, 0, 0, 0);
hbox->addWidget(path_le_);
hbox->addWidget(pb);
hbox->setSizeConstraint(QLayout::SetMinimumSize);
// Grow the item to match the editor. According to the QAbstractItemDelegate
// documenation we're supposed to reimplement sizeHint but this seems to work.
QSize size = option.rect.size();
size.setHeight(qMax(option.rect.height(), hbox->sizeHint().height()));
item->setData(col_p_pipe_, Qt::SizeHintRole, size);
path_le_->selectAll();
path_editor_->setFocusProxy(path_le_);
path_editor_->setFocusPolicy(path_le_->focusPolicy());
connect(path_le_, SIGNAL(destroyed()), this, SLOT(stopEditor()));
connect(pb, SIGNAL(pressed()), this, SLOT(browse_button_clicked()));
return path_editor_;
}
开发者ID:JunichiWatanuki,项目名称:wireshark,代码行数:36,代码来源:manage_interfaces_dialog.cpp
示例2: Scene_spheres_item
void Scene_polylines_item::change_corner_radii(double r) {
if(r >= 0) {
d->spheres_drawn_radius = r;
d->draw_extremities = (r > 0);
if(r>0 && !spheres)
{
spheres = new Scene_spheres_item(this, false);
spheres->setName("Corner spheres");
spheres->setRenderingMode(Gouraud);
connect(spheres, SIGNAL(destroyed()), this, SLOT(reset_spheres()));
scene->addItem(spheres);
scene->changeGroup(spheres, this);
lockChild(spheres);
computeSpheres();
spheres->invalidateOpenGLBuffers();
}
else if (r<=0 && spheres!=NULL)
{
unlockChild(spheres);
scene->erase(scene->item_id(spheres));
}
Q_EMIT itemChanged();
}
}
开发者ID:arielm,项目名称:cgal,代码行数:24,代码来源:Scene_polylines_item.cpp
示例3: sys_qualifiedLibraryName
void tst_QPluginLoader::reloadPlugin()
{
QPluginLoader loader;
loader.setFileName( sys_qualifiedLibraryName("theplugin")); //a plugin
loader.load(); // not recommended, instance() should do the job.
PluginInterface *instance = qobject_cast<PluginInterface*>(loader.instance());
QVERIFY(instance);
QCOMPARE(instance->pluginName(), QLatin1String("Plugin ok"));
QSignalSpy spy(loader.instance(), SIGNAL(destroyed()));
QVERIFY(spy.isValid());
QVERIFY(loader.unload()); // refcount reached 0, did really unload
QCOMPARE(spy.count(), 1);
// reload plugin
QVERIFY(loader.load());
QVERIFY(loader.isLoaded());
PluginInterface *instance2 = qobject_cast<PluginInterface*>(loader.instance());
QVERIFY(instance2);
QCOMPARE(instance2->pluginName(), QLatin1String("Plugin ok"));
QVERIFY(loader.unload());
}
开发者ID:CodeDJ,项目名称:qt5-hidpi,代码行数:24,代码来源:tst_qpluginloader.cpp
示例4: DatePicker
void KBinaryClock::toggleCalendar()
{
if (_calendar && !_disableCalendar) {
// calls slotCalendarDeleted which does the cleanup for us
_calendar->close();
return;
}
if (_calendar || _disableCalendar){
return;
}
_calendar = new DatePicker(this, QDateTime::currentDateTime().date());
connect( _calendar, SIGNAL( destroyed() ), SLOT( slotCalendarDeleted() ));
// some extra spacing is included if aligned on a desktop edge
QPoint c = mapToGlobal(QPoint(0,0));
int w = _calendar->sizeHint().width() + 28;
// Added 28 px. to size poperly as said in API
int h = _calendar->sizeHint().height();
switch (position()) {
case KPanelApplet::pLeft: c.setX(c.x()+width()+2); break;
case KPanelApplet::pRight: c.setX(c.x()-w-2); break;
case KPanelApplet::pTop: c.setY(c.y()+height()+2); break;
case KPanelApplet::pBottom: c.setY(c.y()-h-2); break;
}
// make calendar fully visible
QRect deskR = KGlobalSettings::desktopGeometry(QPoint(0,0));
if (c.y()+h > deskR.bottom()) c.setY(deskR.bottom()-h-1);
if (c.x()+w > deskR.right()) c.setX(deskR.right()-w-1);
_calendar->move(c);
_calendar->show();
}
开发者ID:iegor,项目名称:kdesktop,代码行数:36,代码来源:kbinaryclock.cpp
示例5: connect
void FindReplaceDialog::setExtendedScintilla(ExtendedScintilla* scintilla)
{
m_scintilla = scintilla;
// Create indicator for find-all and replace-all occurrences
foundIndicatorNumber = m_scintilla->indicatorDefine(QsciScintilla::StraightBoxIndicator);
m_scintilla->setIndicatorForegroundColor(Qt::magenta, foundIndicatorNumber);
m_scintilla->setIndicatorDrawUnder(true, foundIndicatorNumber);
bool isWriteable = ! m_scintilla->isReadOnly();
ui->replaceWithText->setEnabled(isWriteable);
ui->replaceButton->setEnabled(isWriteable);
ui->replaceAllButton->setEnabled(isWriteable);
connect(m_scintilla, SIGNAL(destroyed()), this, SLOT(hide()));
connect(ui->findText, SIGNAL(editingFinished()), this, SLOT(cancelFind()));
connect(ui->regexpCheckBox, &QCheckBox::toggled, this, &FindReplaceDialog::cancelFind);
connect(ui->caseCheckBox, &QCheckBox::toggled, this, &FindReplaceDialog::cancelFind);
connect(ui->wholeWordsCheckBox, &QCheckBox::toggled, this, &FindReplaceDialog::cancelFind);
connect(ui->wrapCheckBox, &QCheckBox::toggled, this, &FindReplaceDialog::cancelFind);
connect(ui->backwardsCheckBox, &QCheckBox::toggled, this, &FindReplaceDialog::cancelFind);
connect(ui->selectionCheckBox, &QCheckBox::toggled, this, &FindReplaceDialog::cancelFind);
connect(ui->selectionCheckBox, &QCheckBox::toggled, ui->wrapCheckBox, &QCheckBox::setDisabled);
}
开发者ID:firateski,项目名称:sqlitebrowser,代码行数:24,代码来源:FindReplaceDialog.cpp
示例6: connect
void SongLoaderInserter::Load(Playlist* destination, int row, bool play_now,
bool enqueue, const QList<QUrl>& urls) {
destination_ = destination;
row_ = row;
play_now_ = play_now;
enqueue_ = enqueue;
connect(destination, SIGNAL(destroyed()), SLOT(DestinationDestroyed()));
connect(this, SIGNAL(PreloadFinished()), SLOT(InsertSongs()));
connect(this, SIGNAL(EffectiveLoadFinished(const SongList&)), destination,
SLOT(UpdateItems(const SongList&)));
for (const QUrl& url : urls) {
SongLoader* loader = new SongLoader(library_, player_, this);
SongLoader::Result ret = loader->Load(url);
if (ret == SongLoader::BlockingLoadRequired) {
pending_.append(loader);
continue;
}
if (ret == SongLoader::Success)
songs_ << loader->songs();
else
emit Error(tr("Error loading %1").arg(url.toString()));
delete loader;
}
if (pending_.isEmpty()) {
InsertSongs();
deleteLater();
} else {
QtConcurrent::run(this, &SongLoaderInserter::AsyncLoad);
}
}
开发者ID:RaoulChartreuse,项目名称:Clementine,代码行数:36,代码来源:songloaderinserter.cpp
示例7: AuthenticationDialog
void NetworkAccessManager::handleAuthenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator)
{
if (m_widget)
{
AuthenticationDialog *authenticationDialog = new AuthenticationDialog(reply->url(), authenticator, m_widget);
authenticationDialog->setButtonsVisible(false);
ContentsDialog dialog(Utils::getIcon(QLatin1String("dialog-password")), authenticationDialog->windowTitle(), QString(), QString(), (QDialogButtonBox::Ok | QDialogButtonBox::Cancel), authenticationDialog, m_widget);
connect(&dialog, SIGNAL(accepted()), authenticationDialog, SLOT(accept()));
QEventLoop eventLoop;
m_widget->showDialog(&dialog);
connect(&dialog, SIGNAL(closed(bool,QDialogButtonBox::StandardButton)), &eventLoop, SLOT(quit()));
connect(this, SIGNAL(destroyed()), &eventLoop, SLOT(quit()));
eventLoop.exec();
m_widget->hideDialog(&dialog);
}
else
{
开发者ID:Cqoicebordel,项目名称:otter,代码行数:24,代码来源:NetworkAccessManager.cpp
示例8: connect
void medViewContainer::setView(medAbstractView *view)
{
if(d->view)
{
d->view->viewWidget()->hide();
this->removeInternView();
}
if(view)
{
d->view = view;
connect(d->view, SIGNAL(destroyed()), this, SLOT(removeInternView()));
connect(d->view, SIGNAL(selectedRequest(bool)), this, SLOT(setSelected(bool)));
if(medAbstractLayeredView* layeredView = dynamic_cast<medAbstractLayeredView*>(view))
{
connect(layeredView, SIGNAL(currentLayerChanged()), this, SIGNAL(currentLayerChanged()));
connect(layeredView, SIGNAL(currentLayerChanged()), this, SLOT(updateToolBar()));
connect(layeredView, SIGNAL(layerAdded(uint)), this, SIGNAL(viewContentChanged()));
connect(layeredView, SIGNAL(layerRemoved(uint)), this, SIGNAL(viewContentChanged()));
}
if (medAbstractImageView* imageView = dynamic_cast <medAbstractImageView*> (view))
{
if (!d->userSplittable)
imageView->fourViewsParameter()->hide();
}
d->maximizedAction->setEnabled(true);
d->defaultWidget->hide();
d->mainLayout->addWidget(d->view->viewWidget(), 2, 0, 1, 1);
d->view->viewWidget()->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::MinimumExpanding);
d->view->viewWidget()->show();
emit viewChanged();
}
}
开发者ID:summit4you,项目名称:medInria-public,代码行数:36,代码来源:medViewContainer.cpp
示例9: QObject
/*!
\internal
Creates a new script in \a project with the name \a name,
context \a context and code \a code.
*/
QSScript::QSScript(QSProject *project,
const QString &name,
const QString &code,
QObject *context)
:
QObject(project, name.local8Bit())
{
d = new QSScriptPrivate;
#ifndef AQ_ENABLE_SCRIPTCACHE
d->code = code;
#else
d->code = aqSha1(code);
aqDiskCacheInsert(d->code, code);
#endif
d->name = name;
d->project = project;
if (context) {
d->context = context;
connect(context, SIGNAL(destroyed()),
this, SLOT(objectDestroyed()));
}
}
开发者ID:Miguel-J,项目名称:eneboo-core,代码行数:30,代码来源:qsscript.cpp
示例10: new
void PukeController::insertPObject(int fd, int iWinId, WidgetS *obj){ /*FOLD00*/
// If no widget list exists for this fd, create one
if(WidgetList[fd] == NULL){
QIntDict<WidgetS> *qidWS = new("QIntDict<WidgetS>") QIntDict<WidgetS>;
qidWS->setAutoDelete(TRUE);
WidgetList.insert(fd, qidWS);
}
// Set main widget structure list
WidgetList[fd]->insert(iWinId, obj);
// Set reverse list used durring delete to remove the widget
widgetId *pwi = new("widgetId") widgetId;
pwi->fd = fd;
pwi->iWinId = iWinId;
char key[keySize];
memset(key, 0, keySize);
sprintf(key, "%p", obj->pwidget);
revWidgetList.insert(key, pwi);
// Now connect to the destroyed signal so we can remove the object from the lists
// Once it is deleted
connect(obj->pwidget, SIGNAL(destroyed()),
this, SLOT(pobjectDestroyed()));
}
开发者ID:kthxbyte,项目名称:KDE1-Linaro,代码行数:24,代码来源:controller.cpp
示例11: destroyed
Bus::~Bus()
{
emit destroyed();
}
开发者ID:speakman,项目名称:qlc,代码行数:4,代码来源:bus.cpp
示例12: destroyed
//!
//! Destructor of the ClusteringLayouterNode class.
//!
//! Defined virtual to guarantee that the destructor of a derived class
//! will be called if the instance of the derived class is saved in a
//! variable of its parent class type.
//!
ClusteringLayouterNode::~ClusteringLayouterNode ()
{
emit destroyed();
DEC_INSTANCE_COUNTER
Log::info(QString("ClusteringLayouterNode destroyed."), "ClusteringLayouterNode::~ClusteringLayouterNode");
}
开发者ID:banduladh,项目名称:levelfour,代码行数:13,代码来源:ClusteringLayouterNode.cpp
示例13: QDialog
QgsAttributeTableDialog::QgsAttributeTableDialog( QgsVectorLayer *theLayer, QWidget *parent, Qt::WindowFlags flags )
: QDialog( parent, flags ), mDock( NULL )
{
mLayer = theLayer;
setupUi( this );
setAttribute( Qt::WA_DeleteOnClose );
QSettings settings;
restoreGeometry( settings.value( "/Windows/BetterAttributeTable/geometry" ).toByteArray() );
mView->setLayer( mLayer );
mFilterModel = ( QgsAttributeTableFilterModel * ) mView->model();
mModel = ( QgsAttributeTableModel * )(( QgsAttributeTableFilterModel * )mView->model() )->sourceModel();
mQuery = query;
mColumnBox = columnBox;
columnBoxInit();
bool myDockFlag = settings.value( "/qgis/dockAttributeTable", false ).toBool();
if ( myDockFlag )
{
mDock = new QgsAttributeTableDock( tr( "Attribute table - %1 (%n Feature(s))", "feature count", mModel->rowCount() ).arg( mLayer->name() ), QgisApp::instance() );
mDock->setAllowedAreas( Qt::BottomDockWidgetArea | Qt::TopDockWidgetArea );
mDock->setWidget( this );
connect( this, SIGNAL( destroyed() ), mDock, SLOT( close() ) );
QgisApp::instance()->addDockWidget( Qt::BottomDockWidgetArea, mDock );
}
updateTitle();
mRemoveSelectionButton->setIcon( QgisApp::getThemeIcon( "/mActionUnselectAttributes.png" ) );
mSelectedToTopButton->setIcon( QgisApp::getThemeIcon( "/mActionSelectedToTop.png" ) );
mCopySelectedRowsButton->setIcon( QgisApp::getThemeIcon( "/mActionCopySelected.png" ) );
mZoomMapToSelectedRowsButton->setIcon( QgisApp::getThemeIcon( "/mActionZoomToSelected.png" ) );
mInvertSelectionButton->setIcon( QgisApp::getThemeIcon( "/mActionInvertSelection.png" ) );
mToggleEditingButton->setIcon( QgisApp::getThemeIcon( "/mActionToggleEditing.png" ) );
mSaveEditsButton->setIcon( QgisApp::getThemeIcon( "/mActionSaveEdits.png" ) );
mDeleteSelectedButton->setIcon( QgisApp::getThemeIcon( "/mActionDeleteSelected.png" ) );
mOpenFieldCalculator->setIcon( QgisApp::getThemeIcon( "/mActionCalculateField.png" ) );
mAddAttribute->setIcon( QgisApp::getThemeIcon( "/mActionNewAttribute.png" ) );
mRemoveAttribute->setIcon( QgisApp::getThemeIcon( "/mActionDeleteAttribute.png" ) );
// toggle editing
bool canChangeAttributes = mLayer->dataProvider()->capabilities() & QgsVectorDataProvider::ChangeAttributeValues;
bool canDeleteFeatures = mLayer->dataProvider()->capabilities() & QgsVectorDataProvider::DeleteFeatures;
bool canAddAttributes = mLayer->dataProvider()->capabilities() & QgsVectorDataProvider::AddAttributes;
bool canDeleteAttributes = mLayer->dataProvider()->capabilities() & QgsVectorDataProvider::DeleteAttributes;
bool canAddFeatures = mLayer->dataProvider()->capabilities() & QgsVectorDataProvider::AddFeatures;
mToggleEditingButton->setCheckable( true );
mToggleEditingButton->setChecked( mLayer->isEditable() );
mToggleEditingButton->setEnabled( canChangeAttributes && !mLayer->isReadOnly() );
mSaveEditsButton->setEnabled( canChangeAttributes && mLayer->isEditable() );
mOpenFieldCalculator->setEnabled( canChangeAttributes && mLayer->isEditable() );
mDeleteSelectedButton->setEnabled( canDeleteFeatures && mLayer->isEditable() );
mAddAttribute->setEnabled( canAddAttributes && mLayer->isEditable() );
mRemoveAttribute->setEnabled( canDeleteAttributes && mLayer->isEditable() );
mAddFeature->setEnabled( canAddFeatures && mLayer->isEditable() && mLayer->geometryType() == QGis::NoGeometry );
mAddFeature->setHidden( !canAddFeatures || mLayer->geometryType() != QGis::NoGeometry );
// info from table to application
connect( this, SIGNAL( editingToggled( QgsMapLayer * ) ), QgisApp::instance(), SLOT( toggleEditing( QgsMapLayer * ) ) );
connect( this, SIGNAL( saveEdits( QgsMapLayer * ) ), QgisApp::instance(), SLOT( saveEdits( QgsMapLayer * ) ) );
// info from layer to table
connect( mLayer, SIGNAL( editingStarted() ), this, SLOT( editingToggled() ) );
connect( mLayer, SIGNAL( editingStopped() ), this, SLOT( editingToggled() ) );
connect( searchButton, SIGNAL( clicked() ), this, SLOT( search() ) );
connect( mAddFeature, SIGNAL( clicked() ), this, SLOT( addFeature() ) );
connect( mLayer, SIGNAL( selectionChanged() ), this, SLOT( updateSelectionFromLayer() ) );
connect( mLayer, SIGNAL( layerDeleted() ), this, SLOT( close() ) );
connect( mView->verticalHeader(), SIGNAL( sectionClicked( int ) ), this, SLOT( updateRowSelection( int ) ) );
connect( mView->verticalHeader(), SIGNAL( sectionPressed( int ) ), this, SLOT( updateRowPressed( int ) ) );
connect( mModel, SIGNAL( modelChanged() ), this, SLOT( updateSelection() ) );
if ( settings.value( "/qgis/attributeTableBehaviour", 0 ).toInt() == 2 )
{
connect( QgisApp::instance()->mapCanvas(), SIGNAL( extentsChanged() ), mModel, SLOT( layerModified() ) );
}
mLastClickedHeaderIndex = 0;
mSelectionModel = new QItemSelectionModel( mFilterModel );
updateSelectionFromLayer();
//make sure to show all recs on first load
on_cbxShowSelectedOnly_toggled( false );
}
开发者ID:jozed,项目名称:Quantum-GIS,代码行数:92,代码来源:qgsattributetabledialog.cpp
示例14: Q_ASSERT
YTLocalVideoData::~YTLocalVideoData()
{
Q_ASSERT(_videoFile.isNull());
Q_ASSERT(_status != YTLocalVideo::Loading);
emit destroyed(_videoId);
}
开发者ID:accumulator,项目名称:sailfish-ytplayer,代码行数:6,代码来源:YTLocalVideoData.cpp
示例15: destroyed
BufferView::~BufferView()
{
emit destroyed(this);
}
开发者ID:0Knowledge,项目名称:communi-desktop,代码行数:4,代码来源:bufferview.cpp
示例16: qDebug
//.........这里部分代码省略.........
}
settings->endArray();
}
updateLoginMessage();
maxGameInactivityTime = settings->value("game/max_game_inactivity_time").toInt();
maxPlayerInactivityTime = settings->value("game/max_player_inactivity_time").toInt();
maxUsersPerAddress = settings->value("security/max_users_per_address").toInt();
messageCountingInterval = settings->value("security/message_counting_interval").toInt();
maxMessageCountPerInterval = settings->value("security/max_message_count_per_interval").toInt();
maxMessageSizePerInterval = settings->value("security/max_message_size_per_interval").toInt();
maxGamesPerUser = settings->value("security/max_games_per_user").toInt();
try { if (settings->value("servernetwork/active", 0).toInt()) {
qDebug() << "Connecting to ISL network.";
const QString certFileName = settings->value("servernetwork/ssl_cert").toString();
const QString keyFileName = settings->value("servernetwork/ssl_key").toString();
qDebug() << "Loading certificate...";
QFile certFile(certFileName);
if (!certFile.open(QIODevice::ReadOnly))
throw QString("Error opening certificate file: %1").arg(certFileName);
QSslCertificate cert(&certFile);
#if QT_VERSION < 0x050000
if (!cert.isValid())
throw(QString("Invalid certificate."));
#else
const QDateTime currentTime = QDateTime::currentDateTime();
if(currentTime < cert.effectiveDate() ||
currentTime > cert.expiryDate() ||
cert.isBlacklisted())
throw(QString("Invalid certificate."));
#endif
qDebug() << "Loading private key...";
QFile keyFile(keyFileName);
if (!keyFile.open(QIODevice::ReadOnly))
throw QString("Error opening private key file: %1").arg(keyFileName);
QSslKey key(&keyFile, QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey);
if (key.isNull())
throw QString("Invalid private key.");
QMutableListIterator<ServerProperties> serverIterator(serverList);
while (serverIterator.hasNext()) {
const ServerProperties &prop = serverIterator.next();
if (prop.cert == cert) {
serverIterator.remove();
continue;
}
QThread *thread = new QThread;
thread->setObjectName("isl_" + QString::number(prop.id));
connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater()));
IslInterface *interface = new IslInterface(prop.id, prop.hostname, prop.address.toString(), prop.controlPort, prop.cert, cert, key, this);
interface->moveToThread(thread);
connect(interface, SIGNAL(destroyed()), thread, SLOT(quit()));
thread->start();
QMetaObject::invokeMethod(interface, "initClient", Qt::BlockingQueuedConnection);
}
const int networkPort = settings->value("servernetwork/port", 14747).toInt();
qDebug() << "Starting ISL server on port" << networkPort;
islServer = new Servatrice_IslServer(this, cert, key, this);
if (islServer->listen(QHostAddress::Any, networkPort))
qDebug() << "ISL server listening.";
else
throw QString("islServer->listen()");
} } catch (QString error) {
qDebug() << "ERROR --" << error;
return false;
}
pingClock = new QTimer(this);
connect(pingClock, SIGNAL(timeout()), this, SIGNAL(pingClockTimeout()));
pingClock->start(1000);
int statusUpdateTime = settings->value("server/statusupdate").toInt();
statusUpdateClock = new QTimer(this);
connect(statusUpdateClock, SIGNAL(timeout()), this, SLOT(statusUpdate()));
if (statusUpdateTime != 0) {
qDebug() << "Starting status update clock, interval " << statusUpdateTime << " ms";
statusUpdateClock->start(statusUpdateTime);
}
const int numberPools = settings->value("server/number_pools", 1).toInt();
gameServer = new Servatrice_GameServer(this, numberPools, servatriceDatabaseInterface->getDatabase(), this);
gameServer->setMaxPendingConnections(1000);
const int gamePort = settings->value("server/port", 4747).toInt();
qDebug() << "Starting server on port" << gamePort;
if (gameServer->listen(QHostAddress::Any, gamePort))
qDebug() << "Server listening.";
else {
qDebug() << "gameServer->listen(): Error.";
return false;
}
return true;
}
开发者ID:Aurenos,项目名称:Cockatrice,代码行数:101,代码来源:servatrice.cpp
示例17: connect
AccountEditWidget *GaduProtocolFactory::newEditAccountWidget(Account account, QWidget *parent)
{
auto result = m_pluginInjectedFactory->makeInjected<GaduEditAccountWidget>(m_gaduServersManager, account, parent);
connect(this, SIGNAL(destroyed()), result, SLOT(deleteLater()));
return result;
}
开发者ID:vogel,项目名称:kadu,代码行数:6,代码来源:gadu-protocol-factory.cpp
示例18: set_margins
void menu_item_widget::init()
{
set_margins(neogfx::margins{});
iLayout.set_margins(neogfx::margins{ iGap, 0.0, iGap * (iMenu.type() == i_menu::Popup ? 2.0 : 1.0), 0.0 });
iLayout.set_spacing(size{ iGap, 0.0 });
if (iMenu.type() == i_menu::Popup)
iIcon.set_fixed_size(size{ iIconSize, iIconSize });
else
iIcon.set_fixed_size(size{});
iSpacer.set_minimum_size(size{ 0.0, 0.0 });
auto text_updated = [this]()
{
auto m = mnemonic_from_text(iText.text());
if (!m.empty())
app::instance().add_mnemonic(*this);
else
app::instance().remove_mnemonic(*this);
};
iText.text_changed(text_updated, this);
text_updated();
if (iMenuItem.type() == i_menu_item::Action)
{
auto action_changed = [this]()
{
iIcon.set_image(iMenuItem.action().is_unchecked() ? iMenuItem.action().image() : iMenuItem.action().checked_image());
if (!iIcon.image().is_empty())
iIcon.set_fixed_size(size{ iIconSize, iIconSize });
else if (iMenu.type() == i_menu::MenuBar)
iIcon.set_fixed_size(size{});
iText.set_text(iMenuItem.action().menu_text());
if (iMenu.type() != i_menu::MenuBar)
iShortcutText.set_text(iMenuItem.action().shortcut() != boost::none ? iMenuItem.action().shortcut()->as_text() : std::string());
iSpacer.set_minimum_size(size{ iMenuItem.action().shortcut() != boost::none && iMenu.type() != i_menu::MenuBar ? iGap * 2.0 : 0.0, 0.0 });
enable(iMenuItem.action().is_enabled());
};
iMenuItem.action().changed(action_changed, this);
iMenuItem.action().checked(action_changed, this);
iMenuItem.action().unchecked(action_changed, this);
iMenuItem.action().enabled(action_changed, this);
iMenuItem.action().disabled(action_changed, this);
action_changed();
}
else
{
iMenuItem.sub_menu().opened([this]() {update(); }, this);
iMenuItem.sub_menu().closed([this]() {update(); }, this);
auto menu_changed = [this]()
{
iIcon.set_image(iMenuItem.sub_menu().image());
iText.set_text(iMenuItem.sub_menu().title());
};
iMenuItem.sub_menu().menu_changed(menu_changed, this);
menu_changed();
}
iMenuItem.selected([this]()
{
if (iMenuItem.type() == i_menu_item::SubMenu && iMenu.type() == i_menu::Popup)
{
iSubMenuOpener = std::make_unique<neolib::callback_timer>(app::instance(), [this](neolib::callback_timer&)
{
if (!iMenuItem.sub_menu().is_open())
{
destroyed_flag destroyed(*this);
iMenu.open_sub_menu.trigger(iMenuItem.sub_menu());
if (!destroyed)
update();
}
}, 250);
}
}, this);
iMenuItem.deselected([this]()
{
iSubMenuOpener.reset();
}, this);
}
开发者ID:basisbit,项目名称:neogfx,代码行数:75,代码来源:menu_item_widget.cpp
示例19: destroyed
void GLC_Context::openGLContextDestroyed()
{
m_ContextSharedData.clear();
emit destroyed(this);
}
开发者ID:JasonWinston,项目名称:GLC_lib,代码行数:5,代码来源:glc_context.cpp
示例20: QString
void ScriptableWorker::run()
{
if ( hasLogLevel(LogDebug) ) {
bool isEval = m_args.length() == Arguments::Rest + 2
&& m_args.at(Arguments::Rest) == "eval";
for (int i = Arguments::Rest + (isEval ? 1 : 0); i < m_args.length(); ++i) {
QString indent = isEval ? QString("EVAL:")
: (QString::number(i - Arguments::Rest + 1) + " ");
foreach (const QByteArray &line, m_args.at(i).split('\n')) {
SCRIPT_LOG( indent + getTextData(line) );
indent = " ";
}
}
}
bool hasData;
const quintptr id = m_args.at(Arguments::ActionId).toULongLong(&hasData);
QVariantMap data;
if (hasData)
data = Action::data(id);
const QString currentPath = getTextData(m_args.at(Arguments::CurrentPath));
QScriptEngine engine;
ScriptableProxy proxy(m_wnd, data);
Scriptable scriptable(&proxy);
scriptable.initEngine(&engine, currentPath, data);
if (m_socket) {
QObject::connect( proxy.signaler(), SIGNAL(sendMessage(QByteArray,int)),
m_socket, SLOT(sendMessage(QByteArray,int)) );
QObject::connect( &scriptable, SIGNAL(sendMessage(QByteArray,int)),
m_socket, SLOT(sendMessage(QByteArray,int)) );
QObject::connect( m_socket, SIGNAL(messageReceived(QByteArray,int)),
&scriptable, SLOT(setInput(QByteArray)) );
QObject::connect( m_socket, SIGNAL(disconnected()),
&scriptable, SLOT(abort()) );
QObject::connect( &scriptable, SIGNAL(destroyed()),
m_socket, SLOT(deleteAfterDisconnected()) );
if ( m_socket->isClosed() ) {
SCRIPT_LOG("TERMINATED");
return;
}
m_socket->start();
}
QObject::connect( &scriptable, SIGNAL(requestApplicationQuit()),
qApp, SLOT(quit()) );
QByteArray response;
int exitCode;
if ( m_args.length() <= Arguments::Rest ) {
SCRIPT_LOG("Error: bad command syntax");
exitCode = CommandBadSyntax;
} else {
const QString cmd = getTextData( m_args.at(Arguments::Rest) );
#ifdef HAS_TESTS
if ( cmd == "flush" && m_args.length() == Arguments::Rest + 2 ) {
log( "flush ID: " + getTextData(m_args.at(Arguments::Rest + 1)), LogAlways );
scriptable.sendMessageToClient(QByteArray(), CommandFinished);
return;
}
#endif
QScriptValue fn = engine.globalObject().property(cmd);
if ( !fn.isFunction() ) {
SCRIPT_LOG("Error: unknown command");
const QString msg =
Scriptable::tr("Name \"%1\" doesn't refer to a function.").arg(cmd);
response = createLogMessage(msg, LogError).toUtf8();
exitCode = CommandError;
} else {
/* Special arguments:
* "-" read this argument from stdin
* "--" read all following arguments without control sequences
*/
QScriptValueList fnArgs;
bool readRaw = false;
for ( int i = Arguments::Rest + 1; i < m_args.length(); ++i ) {
const QByteArray &arg = m_args.at(i);
if (!readRaw && arg == "--") {
readRaw = true;
} else {
const QScriptValue value = readRaw || arg != "-"
? scriptable.newByteArray(arg)
: scriptable.input();
fnArgs.append(value);
}
}
engine.evaluate(m_pluginScript);
QScriptValue result = fn.call(QScriptValue(), fnArgs);
//.........这里部分代码省略.........
开发者ID:se7entime,项目名称:CopyQ,代码行数:101,代码来源:scriptableworker.cpp
注:本文中的destroyed函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论