void Grandf::initialize() { setDeckContents(); const qreal distx = 1.4; const qreal targetOffset = 1.5 * distx; for ( int i = 0; i < 4; ++i ) { target[i] = new PatPile( this, i + 1, QString("target%1").arg(i) ); target[i]->setPileRole(PatPile::Foundation); target[i]->setLayoutPos(targetOffset+i*distx, 0); target[i]->setSpread(0, 0); target[i]->setKeyboardSelectHint( KCardPile::NeverFocus ); target[i]->setKeyboardDropHint( KCardPile::ForceFocusTop ); } for ( int i = 0; i < 7; ++i ) { store[i] = new PatPile( this, 5 + i, QString("store%1").arg(i) ); store[i]->setPileRole(PatPile::Tableau); store[i]->setLayoutPos(distx*i, 1.2); store[i]->setAutoTurnTop(true); store[i]->setBottomPadding( 4 ); store[i]->setHeightPolicy( KCardPile::GrowDown ); store[i]->setKeyboardSelectHint( KCardPile::FreeFocus ); store[i]->setKeyboardDropHint( KCardPile::AutoFocusTop ); } setActions(DealerScene::Hint | DealerScene::Demo | DealerScene::Redeal); setSolver( new GrandfSolver( this ) ); }
Gypsy::Gypsy( ) : DealerScene( ) { const qreal dist_x = 11.1; const qreal dist_y = 11.1; Deck::create_deck(this, 2); Deck::deck()->setPilePos(1 + dist_x / 2 + 8*dist_x, 4 * dist_y + 2 ); connect(Deck::deck(), SIGNAL(clicked(Card*)), SLOT(newCards())); for (int i=0; i<8; i++) { target[i] = new Pile(i+1, this); target[i]->setPilePos(1 +dist_x*(8+(i/4)), 1 + (i%4)*dist_y); target[i]->setAddType(Pile::KlondikeTarget); target[i]->setObjectName( QString( "target%1" ).arg( i ) ); } for (int i=0; i<8; i++) { store[i] = new Pile(9+i, this); store[i]->setPilePos(1+dist_x*i, 1); store[i]->setAddType(Pile::GypsyStore); store[i]->setRemoveType(Pile::FreecellStore); store[i]->setReservedSpace( QSizeF( 10, 20 ) ); store[i]->setObjectName( QString( "store%1" ).arg( i ) ); } setActions(DealerScene::Hint | DealerScene::Demo | DealerScene::Deal); setSolver( new GypsySolver( this ) ); }
Yukon::Yukon( KMainWindow* parent, const char *name ) : Dealer( parent, name ) { const int dist_x = cardMap::CARDX() * 11 / 10 + 1; const int dist_y = cardMap::CARDY() * 11 / 10 + 1; deck = Deck::new_deck(this); deck->move(10, 10+dist_y*3); deck->hide(); for (int i=0; i<4; i++) { target[i] = new Pile(i+1, this); target[i]->move(20+7*dist_x, 10+dist_y *i); target[i]->setType(Pile::KlondikeTarget); } for (int i=0; i<7; i++) { store[i] = new Pile(5+i, this); store[i]->move(15+dist_x*i, 10); store[i]->setAddType(Pile::KlondikeStore); store[i]->setRemoveFlags(Pile::several | Pile::autoTurnTop); } setActions(Dealer::Hint | Dealer::Demo); }
UBWebToolsPalette::UBWebToolsPalette(QWidget *parent,bool tutorialMode=false) : UBActionPalette(Qt::TopRightCorner, parent) { QList<QAction*> actions; if (tutorialMode){ actions << UBApplication::mainWindow->actionBoard; } else{ actions << UBApplication::mainWindow->actionWebTrapFlash; //actions << UBApplication::mainWindow->actionWebTrap; actions << UBApplication::mainWindow->actionWebCustomCapture; actions << UBApplication::mainWindow->actionWebWindowCapture; actions << UBApplication::mainWindow->actionWebOEmbed; //actions << UBApplication::mainWindow->actionEduMedia; actions << UBApplication::mainWindow->actionWebShowHideOnDisplay; if (UBPlatformUtils::hasVirtualKeyboard()) { actions << UBApplication::mainWindow->actionVirtualKeyboard; } } setActions(actions); setButtonIconSize(QSize(42, 42)); adjustSizeAndPosition(); }
// Called when the user wants to maximize the palette void UBDesktopPalette::maximizeMe() { QList<QAction*> actions; clearLayout(); actions << mActionUniboard; actions << UBApplication::mainWindow->actionPen; actions << UBApplication::mainWindow->actionEraser; actions << UBApplication::mainWindow->actionMarker; actions << UBApplication::mainWindow->actionSelector; actions << UBApplication::mainWindow->actionPointer; if (UBPlatformUtils::hasVirtualKeyboard()) actions << UBApplication::mainWindow->actionVirtualKeyboard; actions << mActionCustomSelect; actions << mDisplaySelectAction; actions << mShowHideAction; setActions(actions); adjustSizeAndPosition(); // Notify that the maximization has been done emit maximized(); #ifdef Q_OS_LINUX emit refreshMask(); #endif }
Clock::Clock( ) : DealerScene( ) { const qreal dist_x = 11.1; const qreal dist_y = 11.1; Deck::create_deck(this); Deck::deck()->setPos(1, 1+dist_y*3); Deck::deck()->hide(); for (int i=0; i<12; i++) { target[i] = new Pile(i+1, this); const double ys[12] = { 0./96, 15./96, 52./96, 158./96, 264./96, 301./96, 316./96, 301./96, 264./96, 158./96, 52./96, 15./96}; const double xs[12] = { 200./72, 280./72, 360./72, 400./72, 360./72, 280./72, 200./72, 120./72, 40./72, 0./72, 40./72, 120./72}; target[i]->setPilePos(1.2 + 10 * 24 / 5 + xs[i] * 10, 1 + ys[i] * 10); target[i]->setCheckIndex(1); target[i]->setTarget(true); target[i]->setRemoveFlags(Pile::disallow); target[i]->setObjectName( QString( "target%1" ).arg( i ) ); } for (int i=0; i<8; i++) { store[i] = new Pile(14+i, this); store[i]->setPilePos(1.2+dist_x*(i%4), 1 + 10 * 5 / 2 * (i/4)); store[i]->setAddFlags(Pile::addSpread); store[i]->setCheckIndex(0); store[i]->setReservedSpace( QSizeF( 10, 18 ) ); store[i]->setObjectName( QString( "store%1" ).arg( i ) ); } setActions(DealerScene::Hint | DealerScene::Demo); setSolver( new ClockSolver( this ) ); }
UBActionPalette::UBActionPalette(QList<QAction*> actions, Qt::Orientation orientation, QWidget * parent) : UBFloatingPalette(Qt::TopRightCorner, parent) , mOrientation(orientation) { init(); setActions(actions); }
void TestPhoneCallImpl::setState( QPhoneCall::State state ) { switch ( state ) { case QPhoneCall::Dialing: case QPhoneCall::Alerting: setActions( None ); break; case QPhoneCall::Connected: setActions( Hold | Tone ); break; case QPhoneCall::Hold: setActions( ActivateCall | ActivateGroup ); break; case QPhoneCall::Incoming: setActions( Accept | Transfer ); break; default: setActions( None ); break; } QPhoneCallImpl::setState( state ); }
// Called when the user wants to maximize the palette void UBDesktopPalette::maximizeMe() { QList<QAction*> actions; clearLayout(); actions << mActionUniboard; actions << UBApplication::mainWindow->actionPen; actions << UBApplication::mainWindow->actionEraser; actions << UBApplication::mainWindow->actionMarker; #ifndef Q_WS_X11 actions << UBApplication::mainWindow->actionSelector; #endif actions << UBApplication::mainWindow->actionPointer; if (UBPlatformUtils::hasVirtualKeyboard()) actions << UBApplication::mainWindow->actionVirtualKeyboard; actions << mActionCustomSelect; actions << mDisplaySelectAction; actions << mShowHideAction; //actions << UBApplication::mainWindow->actionDesktopTools; setActions(actions); QSize newSize = preferredSize(); this->resize(newSize); // Notify that the maximization has been done emit maximized(); }
UBDesktopPalette::UBDesktopPalette(QWidget *parent) : UBActionPalette(Qt::TopLeftCorner, parent) , mShowHideAction(0) , mDisplaySelectAction(0) { QList<QAction*> actions; mActionUniboard = new QAction(QIcon(":/images/toolbar/board.png"), tr("Show Uniboard"), this); connect(mActionUniboard, SIGNAL(triggered()), this, SIGNAL(uniboardClick())); actions << mActionUniboard; actions << UBApplication::mainWindow->actionPen; actions << UBApplication::mainWindow->actionEraser; actions << UBApplication::mainWindow->actionMarker; #ifndef Q_WS_X11 actions << UBApplication::mainWindow->actionSelector; #endif actions << UBApplication::mainWindow->actionPointer; if (UBPlatformUtils::hasVirtualKeyboard()) { actions << UBApplication::mainWindow->actionVirtualKeyboard; connect(UBApplication::mainWindow->actionVirtualKeyboard, SIGNAL(toggled(bool)), this, SIGNAL(showVirtualKeyboard(bool))); } mActionCustomSelect = new QAction(QIcon(":/images/toolbar/captureArea.png"), tr("Capture Part of the Screen"), this); connect(mActionCustomSelect, SIGNAL(triggered()), this, SIGNAL(customClick())); actions << mActionCustomSelect; mDisplaySelectAction = new QAction(QIcon(":/images/toolbar/captureScreen.png"), tr("Capture the Screen"), this); connect(mDisplaySelectAction, SIGNAL(triggered()), this, SIGNAL(screenClick())); actions << mDisplaySelectAction; QIcon showHideIcon; showHideIcon.addPixmap(QPixmap(":/images/toolbar/eyeOpened.png"), QIcon::Normal , QIcon::On); showHideIcon.addPixmap(QPixmap(":/images/toolbar/eyeClosed.png"), QIcon::Normal , QIcon::Off); mShowHideAction = new QAction(showHideIcon, "", this); mShowHideAction->setCheckable(true); connect(mShowHideAction, SIGNAL(triggered(bool)), this, SLOT(showHideClick(bool))); #ifndef Q_WS_X11 actions << mShowHideAction; #endif setActions(actions); setButtonIconSize(QSize(42, 42)); adjustSizeAndPosition(); // This palette can be minimized QIcon maximizeIcon; maximizeIcon.addPixmap(QPixmap(":/images/toolbar/stylusTab.png"), QIcon::Normal, QIcon::On); mMaximizeAction = new QAction(maximizeIcon, tr("Show the stylus palette"), this); connect(mMaximizeAction, SIGNAL(triggered()), this, SLOT(maximizeMe())); connect(this, SIGNAL(maximizeStart()), this, SLOT(maximizeMe())); connect(this, SIGNAL(minimizeStart(eMinimizedLocation)), this, SLOT(minimizeMe(eMinimizedLocation))); setMinimizePermission(true); }
void FileItemLinkingPlugin::Private::loadAllActions() { if (!shouldLoad || activities.serviceStatus() == KActivities::Consumer::Unknown) { return; } if (activities.serviceStatus() == KActivities::Consumer::NotRunning) { Action action = { }; action.title = i18n("The Activity Manager is not running"); setActions({ action }); } else if (!loaded) { auto loader = FileItemLinkingPluginActionLoader::create(items); static FileItemLinkingPluginActionStaticInit init; connect(loader, &FileItemLinkingPluginActionLoader::result, this, &Private::setActions, Qt::QueuedConnection); loader->start(); loaded = true; // ignore that the thread may not be finished at this time } }
CVFilterToolButton::CVFilterToolButton(QWidget *parent) : CVActionToolButton(parent) { CV_QAction* gaussAction = new CV_QAction("Gaussian blur", this, core::CV_Action_Type::GaussianBlur); CV_QAction* medianAction = new CV_QAction("Median blur", this, core::CV_Action_Type::MedianBlur); CV_QAction* bilateralAction = new CV_QAction("Bilateral blur", this, core::CV_Action_Type::BilateralBlur); QList<CV_QAction*> actions({ medianAction, bilateralAction }); setActions(actions, gaussAction); }
// Called when the palette is near the border and must be minimized void UBDesktopPalette::minimizeMe(eMinimizedLocation location) { Q_UNUSED(location); QList<QAction*> actions; clearLayout(); actions << mMaximizeAction; setActions(actions); QSize newSize = preferredSize(); this->resize(newSize); }
UBDocumentToolsPalette::UBDocumentToolsPalette(QWidget *parent) : UBActionPalette(Qt::TopRightCorner, parent) { QList<QAction*> actions; if (UBPlatformUtils::hasVirtualKeyboard()) actions << UBApplication::mainWindow->actionVirtualKeyboard; setActions(actions); setButtonIconSize(QSize(42, 42)); adjustSizeAndPosition(); }
UBStylusPalette::UBStylusPalette(QWidget *parent, Qt::Orientation orient) : UBActionPalette(Qt::TopLeftCorner, parent, orient) , mLastSelectedId(-1) { QList<QAction*> actions; actions << UBApplication::mainWindow->actionPen; actions << UBApplication::mainWindow->actionEraser; actions << UBApplication::mainWindow->actionMarker; actions << UBApplication::mainWindow->actionSelector; actions << UBApplication::mainWindow->actionPlay; actions << UBApplication::mainWindow->actionHand; actions << UBApplication::mainWindow->actionZoomIn; actions << UBApplication::mainWindow->actionZoomOut; actions << UBApplication::mainWindow->actionPointer; actions << UBApplication::mainWindow->actionLine; actions << UBApplication::mainWindow->actionText; actions << UBApplication::mainWindow->actionCapture; if(UBPlatformUtils::hasVirtualKeyboard()) actions << UBApplication::mainWindow->actionVirtualKeyboard; setActions(actions); setButtonIconSize(QSize(42, 42)); if(!UBPlatformUtils::hasVirtualKeyboard()) { groupActions(); } else { // 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++) { mButtonGroup->addButton(mButtons[i], i); } connect(mButtonGroup, SIGNAL(buttonClicked(int)), this, SIGNAL(buttonGroupClicked(int))); } adjustSizeAndPosition(); initPosition(); foreach(const UBActionPaletteButton* button, mButtons) { connect(button, SIGNAL(doubleClicked()), this, SLOT(stylusToolDoubleClicked())); }
void Fortyeight::initialize() { const qreal dist_x = 1.11; const qreal smallNeg = -1e-6; setDeckContents( 2 ); talon = new PatPile( this, 0, QStringLiteral("talon") ); talon->setPileRole(PatPile::Stock); talon->setLayoutPos( 7 * dist_x, smallNeg ); talon->setZValue(20); talon->setSpread(0, 0); talon->setKeyboardSelectHint( KCardPile::NeverFocus ); talon->setKeyboardDropHint( KCardPile::NeverFocus ); connect( talon, &KCardPile::clicked, this, &DealerScene::drawDealRowOrRedeal ); pile = new PatPile( this, 20, QStringLiteral("pile") ); pile->setPileRole(PatPile::Waste); pile->setLayoutPos( 6 * dist_x, smallNeg ); pile->setLeftPadding( 6 * dist_x ); pile->setWidthPolicy( KCardPile::GrowLeft ); pile->setSpread(-0.21, 0); pile->setKeyboardSelectHint( KCardPile::AutoFocusTop ); pile->setKeyboardDropHint( KCardPile::NeverFocus ); for ( int i = 0; i < 8; ++i ) { target[i] = new PatPile( this, 9 + i, QStringLiteral( "target%1" ).arg( i ) ); target[i]->setPileRole(PatPile::Foundation); target[i]->setLayoutPos(dist_x*i, 0); target[i]->setSpread(0, 0); target[i]->setKeyboardSelectHint( KCardPile::NeverFocus ); target[i]->setKeyboardDropHint( KCardPile::ForceFocusTop ); } for ( int i = 0; i < 8; ++i ) { stack[i] = new PatPile( this, 1 + i, QStringLiteral( "stack%1" ).arg( i ) ); stack[i]->setPileRole(PatPile::Tableau); stack[i]->setLayoutPos(dist_x*i, 1.1 ); stack[i]->setAutoTurnTop(true); stack[i]->setSpread(0, 0.25); stack[i]->setBottomPadding( 1.75 ); stack[i]->setHeightPolicy( KCardPile::GrowDown ); stack[i]->setKeyboardSelectHint( KCardPile::FreeFocus ); stack[i]->setKeyboardDropHint( KCardPile::AutoFocusTop ); } setActions(DealerScene::Hint | DealerScene::Demo | DealerScene::Draw); setSolver( new FortyeightSolver( this ) ); }
// Called when the palette is near the border and must be minimized void UBDesktopPalette::minimizeMe(eMinimizedLocation location) { Q_UNUSED(location); QList<QAction*> actions; clearLayout(); actions << mMaximizeAction; setActions(actions); adjustSizeAndPosition(); #ifdef Q_OS_LINUX emit refreshMask(); #endif }
Qhijridate::Qhijridate( QWidget * parent, Qt::WFlags f) : QDialog(parent, f) { #ifdef Q_WS_WIN path = QCoreApplication::applicationDirPath (); #else path = "/usr/share/qsalat/"; #endif if (path.data()[path.size() - 1] != '/') path += "/"; setupUi(this); setUI(); setActions(); hijri = new Qhijri(); init(); }
Player::Player( QWidget * parent, Qt::WFlags f) : QMainWindow(parent, f) { setupUi(this); path = QCoreApplication::applicationDirPath (); if (path.data()[path.size() - 1] != '/') path += "/"; videoPlayer->mediaObject()->setTickInterval(1000); setUI(); setActions(); init(); adjustWindow(); videoPlayer->installEventFilter(this); videoPlayer->videoWidget()->installEventFilter(this); isFullScreen = false; //addButton->hide(); }
Qcalculation::Qcalculation( QWidget * parent, Qt::WFlags f) : QDialog(parent, f) { #ifdef Q_WS_WIN path = QCoreApplication::applicationDirPath (); #else path = "/usr/share/qsalat/"; #endif if (path.data()[path.size() - 1] != '/') path += "/"; setupUi(this); setUI(); setActions(); date = QDate::currentDate(); prayers = new Qpray(); times = new QString[7]; init(0); }
Klondike::Klondike( bool easy, KMainWindow* parent, const char* _name ) : Dealer( parent, _name ) { // The units of the follwoing constants are pixels const int margin = 10; // between card piles and board edge const int hspacing = cardMap::CARDX() / 6 + 1; // horizontal spacing between card piles const int vspacing = cardMap::CARDY() / 4; // vertical spacing between card piles deck = Deck::new_deck(this); deck->move(margin, margin); EasyRules = easy; pile = new KlondikePile( 13, this); pile->move(margin + cardMap::CARDX() + cardMap::CARDX() / 4, margin); // Move the visual representation of the pile to the intended position // on the game board. pile->setAddFlags(Pile::disallow); pile->setRemoveFlags(Pile::Default); for( int i = 0; i < 7; i++ ) { play[ i ] = new Pile( i + 5, this); play[i]->move(margin + (cardMap::CARDX() + hspacing) * i, margin + cardMap::CARDY() + vspacing); play[i]->setAddType(Pile::KlondikeStore); play[i]->setRemoveFlags(Pile::several | Pile::autoTurnTop | Pile::wholeColumn); } for( int i = 0; i < 4; i++ ) { target[ i ] = new Pile( i + 1, this ); target[i]->move(margin + (3 + i) * (cardMap::CARDX()+ hspacing), margin); target[i]->setAddType(Pile::KlondikeTarget); if (EasyRules) // change default target[i]->setRemoveFlags(Pile::Default); else target[i]->setRemoveType(Pile::KlondikeTarget); } setActions(Dealer::Hint | Dealer::Demo); redealt = false; }
void Idiot::initialize() { setSceneAlignment( AlignHCenter | AlignVCenter ); setDeckContents(); // Create the talon to the left. talon = new PatPile( this, 0, QStringLiteral("talon") ); talon->setPileRole(PatPile::Stock); talon->setLayoutPos(0, 0); talon->setSpread(0, 0); talon->setKeyboardSelectHint( KCardPile::NeverFocus ); talon->setKeyboardDropHint( KCardPile::NeverFocus ); connect(talon, &PatPile::clicked, this, &Idiot::newCards); const qreal distx = 1.1; // Create 4 piles where the cards will be placed during the game. for( int i = 0; i < 4; ++i ) { m_play[i] = new PatPile( this, i + 1, QStringLiteral( "play%1" ).arg( i )); m_play[i]->setPileRole(PatPile::Tableau); m_play[i]->setLayoutPos(1.5 + distx * i, 0); m_play[i]->setBottomPadding( 2 ); m_play[i]->setHeightPolicy( KCardPile::GrowDown ); m_play[i]->setKeyboardSelectHint( KCardPile::AutoFocusTop ); m_play[i]->setKeyboardDropHint( KCardPile::AutoFocusTop ); } // Create the discard pile to the right m_away = new PatPile( this, 5, QStringLiteral("away") ); m_away->setPileRole(PatPile::Foundation); m_away->setLayoutPos(1.9 + distx * 4, 0); m_away->setSpread(0, 0); m_away->setKeyboardSelectHint(KCardPile::NeverFocus); m_away->setKeyboardDropHint(KCardPile::ForceFocusTop); connect(this, &Idiot::cardClicked, this, &Idiot::tryAutomaticMove); setActions(DealerScene::Hint | DealerScene::Demo | DealerScene::Deal); setSolver( new IdiotSolver(this ) ); }
MainWindowImpl::MainWindowImpl(QWidget * parent) : QMainWindow(parent) { setupUi(this); currentDocument = ""; m_alignment = "-x"; comboFonts = new QComboBox; toolBar->addWidget(comboFonts); opt = new Options; if (!opt->optionsTest()) { /*On windows set auto path */ // #ifdef Q_OS_WIN32 opt->windowsAutoOptions(); #endif // #ifdef Q_OS_LINUX if (!showOptionsDialog()) { QMessageBox::information(0, tr("Warning"), tr("Please, set correctly \"figlet path\" and \"figlet fonts path\" in order to use \"Ascii Design\"!")); close(); } #endif } loadOptions(); // Loads inifile ".ascii-design_options.conf"; fMan = new FigletManager(figletPath); connect(textEditNormal, SIGNAL(textChanged()), this, SLOT(writeText())); connect(comboFonts, SIGNAL(currentIndexChanged(int)), this, SLOT(writeText())); setActions(); QActionGroup *anActionGroup = new QActionGroup(this); anActionGroup->addAction(actionAlign_left); anActionGroup->addAction(actionAlign_center); anActionGroup->addAction(actionAlign_right); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), m_bEdit(false) { ui->setupUi(this); ui->splitter->setStretchFactor(0, 15); ui->splitter->setStretchFactor(1, 65); ui->splitter->setStretchFactor(2, 20); ui->grouplistWidget->setCurrentRow(1); ui->findWidget->hide(); initStatusbar(); /*connect all signals and slots*/ setActions(); updateMenuStatus(); int r = Global::g_preferences->m_rgbFontColor.at(0).toInt(); int g = Global::g_preferences->m_rgbFontColor.at(1).toInt(); int b = Global::g_preferences->m_rgbFontColor.at(2).toInt(); updateFontColor(r, g, b); }
Qyearly::Qyearly( QWidget * parent, Qt::WFlags f) : QDialog(parent, f) { #ifdef Q_WS_WIN path = QCoreApplication::applicationDirPath (); #else path = "/usr/share/qsalat/"; #endif if (path.data()[path.size() - 1] != '/') path += "/"; setupUi(this); setUI(); #ifdef Q_WS_WIN file = path+"data/qsalat.xml"; #else file = QDir::homePath ()+"/.qsalat/config/qsalat.xml"; #endif parser.readFile(file); date = QDate::currentDate(); prayers = new Qpray(); init(); setActions(); }
Fortyeight::Fortyeight( ) : DealerScene() { Deck::create_deck(this, 2); const qreal dist_x = 11.1; connect(Deck::deck(), SIGNAL(pressed(Card*)), SLOT(newCards())); connect(Deck::deck(), SIGNAL(clicked(Card*)), SLOT(deckClicked(Card*))); Deck::deck()->setPilePos( -2, -1); Deck::deck()->setZValue(20); pile = new HorLeftPile(20, this); pile->setAddFlags(Pile::addSpread | Pile::disallow); pile->setPilePos( -13.1, -1 ); pile->setObjectName( "pile" ); pile->setReservedSpace( QSizeF( -50, 10 ) ); for (int i = 0; i < 8; i++) { target[i] = new Pile(9 + i, this); target[i]->setPilePos(1 + dist_x*i, 1); target[i]->setType(Pile::KlondikeTarget); target[i]->setObjectName( QString( "target%1" ).arg( i ) ); stack[i] = new Pile(1 + i, this); stack[i]->setPilePos(1 + dist_x*i, 12 ); stack[i]->setAddFlags(Pile::addSpread); stack[i]->setRemoveFlags(Pile::autoTurnTop); stack[i]->setCheckIndex(1); stack[i]->setSpread(stack[i]->spread() * 3 / 4); stack[i]->setObjectName( QString( "stack%1" ).arg( i ) ); stack[i]->setReservedSpace( QSizeF( 10, 40 ) ); } setActions(DealerScene::Hint | DealerScene::Demo | DealerScene::Draw); setSolver( new FortyeightSolver( this ) ); }
void Gypsy::initialize() { const qreal dist_x = 1.11; const qreal dist_y = 1.11; setDeckContents( 2 ); talon = new PatPile( this, 0, "talon" ); talon->setPileRole(PatPile::Stock); talon->setLayoutPos(8.5 * dist_x + 0.4, 4 * dist_y); talon->setKeyboardSelectHint( KCardPile::NeverFocus ); talon->setKeyboardDropHint( KCardPile::NeverFocus ); connect( talon, SIGNAL(clicked(KCard*)), SLOT(drawDealRowOrRedeal()) ); for ( int i = 0; i < 8; ++i ) { target[i] = new PatPile( this, i + 1, QString("target%1").arg(i) ); target[i]->setPileRole(PatPile::Foundation); target[i]->setLayoutPos(dist_x*(8+(i/4)) + 0.4, (i%4)*dist_y); target[i]->setKeyboardSelectHint( KCardPile::NeverFocus ); target[i]->setKeyboardDropHint( KCardPile::ForceFocusTop ); } for ( int i = 0; i < 8; ++i ) { store[i] = new PatPile( this, 9 + i, QString("store%1").arg(i) ); store[i]->setPileRole(PatPile::Tableau); store[i]->setLayoutPos(dist_x*i,0); store[i]->setAutoTurnTop(true); store[i]->setBottomPadding( 4 * dist_y ); store[i]->setHeightPolicy( KCardPile::GrowDown ); store[i]->setKeyboardSelectHint( KCardPile::AutoFocusDeepestRemovable ); store[i]->setKeyboardDropHint( KCardPile::AutoFocusTop ); } setActions(DealerScene::Hint | DealerScene::Demo | DealerScene::Deal); setSolver( new GypsySolver( this ) ); }
void Spider::initialize() { m_leg = 0; m_redeal = 0; const qreal dist_x = 1.12; const qreal smallNeg = -1e-6; m_suits = Settings::spiderSuitCount(); m_stackFaceup = Settings::spiderStackFaceup(); createDeck(); // Dealing the cards out into 5 piles so the user can see how many // sets of 10 cards are left to be dealt out for( int column = 0; column < 5; ++column ) { redeals[column] = new InvisiblePile( this, column + 1, QStringLiteral( "redeals%1" ).arg( column ) ); redeals[column]->setPileRole(PatPile::Stock); redeals[column]->setLayoutPos( dist_x * (9 - (4.0 - column) / 3), smallNeg ); redeals[column]->setZValue(12 * ( 5-column )); redeals[column]->setSpread(0, 0); redeals[column]->setKeyboardSelectHint( KCardPile::NeverFocus ); redeals[column]->setKeyboardDropHint( KCardPile::NeverFocus ); connect( redeals[column], &KCardPile::clicked, this, &DealerScene::drawDealRowOrRedeal ); } // The 10 playing piles for( int column = 0; column < 10; ++column ) { stack[column] = new PatPile( this, column + 6, QStringLiteral( "stack%1" ).arg( column ) ); stack[column]->setPileRole(PatPile::Tableau); stack[column]->setLayoutPos(dist_x * column, 0); stack[column]->setZValue(20); stack[column]->setAutoTurnTop(true); stack[column]->setBottomPadding( 1.5 ); stack[column]->setHeightPolicy( KCardPile::GrowDown ); stack[column]->setKeyboardSelectHint( KCardPile::AutoFocusDeepestRemovable ); stack[column]->setKeyboardDropHint( KCardPile::AutoFocusTop ); } // The 8 'legs' so named by me because spiders have 8 legs - why // else the name Spider? for( int column = 0; column < 8; ++column ) { legs[column] = new InvisiblePile( this, column + 16, QStringLiteral( "legs%1" ).arg( column ) ); legs[column]->setPileRole(PatPile::Foundation); legs[column]->setLayoutPos(dist_x / 3 * column, smallNeg); legs[column]->setZValue(column+1); legs[column]->setSpread(0, 0); legs[column]->setZValue(14 * column); legs[column]->setVisible( false ); legs[column]->setKeyboardSelectHint( KCardPile::NeverFocus ); legs[column]->setKeyboardDropHint( KCardPile::NeverFocus ); } // Moving an A-K run to a leg is not really an autoDrop - the // user should have no choice. setAutoDropEnabled(false); setActions(DealerScene::Hint | DealerScene::Demo | DealerScene::Deal); setSolver( new SpiderSolver( this ) ); options = new KSelectAction(i18n("Spider &Options"), this ); options->addAction( i18n("1 Suit (Easy)") ); options->addAction( i18n("2 Suits (Medium)") ); options->addAction( i18n("4 Suits (Hard)") ); if ( m_suits == 1 ) options->setCurrentItem( 0 ); else if ( m_suits == 2 ) options->setCurrentItem( 1 ); else options->setCurrentItem( 2 ); connect(options, static_cast<void (KSelectAction::*)(int)>(&KSelectAction::triggered), this, &Spider::gameTypeChanged); m_stackFaceupOption = new KSelectAction(i18n("S&tack Options"), this ); m_stackFaceupOption->addAction( i18n("Face &Down (harder)") ); m_stackFaceupOption->addAction( i18n("Face &Up (easier)") ); m_stackFaceupOption->setCurrentItem( m_stackFaceup ); connect(m_stackFaceupOption, static_cast<void (KSelectAction::*)(int)>(&KSelectAction::triggered), this, &Spider::gameTypeChanged); }
AddNew::AddNew(MenuSystem *menuSystem) : Menu(menuSystem) { setActions(); setOptions(); }
// sets main window mode void WMain::setMode(Mode mode) { switch(mode) { case normalMode : searchBar->show(); listWidget->show(); questionLabel->hide(); answerLabel->hide(); answerEdit->hide(); submitWordButton->hide(); cancelTestButton->hide(); examStatusLabel->hide(); tableWidget->hide(); submitExamButton->hide(); cancelExamButton->hide(); progressBar->show(); setActions(true); this->mode=normalMode; updateStatusbar(); break; case disabledMode : this->setEnabled(false); this->mode=disabledMode; break; case enabledMode : this->setEnabled(true); setMode(normalMode); break; case testMode : searchBar->hide(); listWidget->hide(); questionLabel->show(); answerLabel->show(); answerEdit->show(); answerEdit->clear(); submitWordButton->show(); cancelTestButton->show(); examStatusLabel->hide(); tableWidget->hide(); submitExamButton->hide(); cancelExamButton->hide(); progressBar->show(); setActions(false); this->mode=testMode; break; case examMode : searchBar->hide(); listWidget->hide(); questionLabel->hide(); answerLabel->hide(); answerEdit->hide(); submitWordButton->hide(); cancelTestButton->hide(); examStatusLabel->show(); tableWidget->show(); tableWidget->setColumnWidth(0, (tableWidget->width())/2); submitExamButton->show(); cancelExamButton->show(); cancelExamButton->setEnabled(true); progressBar->hide(); setActions(false); this->mode=examMode; break; } }