void Inventory::handleLevelRightClick(InventorySlot* clicked) { if (m_levelInterface == nullptr || clicked == nullptr) return; if (clicked->getItemType() == ItemType::Consumable) m_levelInterface->consumeItem(clicked->getItem()); else if (clicked->getItemType() == ItemType::Document) showDocument(clicked->getItem()); }
bool ProjectContentComponent::goToPreviousFile() { OpenDocumentManager::Document* doc = recentDocumentList.getCurrentDocument(); if (doc == nullptr || doc == getCurrentDocument()) doc = recentDocumentList.getPrevious(); return showDocument (doc, true); }
void Inventory::handleMapRightClick(InventorySlot* clicked) { if (m_mapInterface == nullptr || clicked == nullptr) return; if (m_merchantInterface != nullptr) { m_merchantInterface->sellItem(clicked->getItem()); return; } if (clicked->getItemType() == ItemType::Document) showDocument(clicked->getItem()); }
void ProjectContentComponent::hideDocument (OpenDocumentManager::Document* doc) { if (doc == currentDocument) { if (OpenDocumentManager::Document* replacement = recentDocumentList.getClosestPreviousDocOtherThan (doc)) showDocument (replacement, true); else hideEditor(); } }
bool ProjectContentComponent::showEditorForFile (const File& f, bool grabFocus) { if (getCurrentFile() == f || showDocument (ProjucerApplication::getApp().openDocumentManager.openFile (project, f), grabFocus)) { fileNameLabel->setText (f.getFileName(), dontSendNotification); return true; } return false; }
void DocumentWatcher::processUpdates() { while (!m_updates.isEmpty()) { QString path = m_updates.takeFirst(); QString filename = "<i>" + QFileInfo(path).fileName() + "</i>"; // Show document Document* document = m_paths.value(path); if (!document) { continue; } emit showDocument(document); if (QFile::exists(path)) { // Process changed file QMessageBox mbox(document->window()); mbox.setIcon(QMessageBox::Warning); mbox.setWindowTitle(tr("File Changed")); mbox.setText(tr("The file %1 was changed by another program.").arg(filename)); mbox.setInformativeText(tr("Do you want to reload the file?")); QPushButton* reload_button = mbox.addButton(tr("Reload"), QMessageBox::AcceptRole); if (reload_button->style()->styleHint(QStyle::SH_DialogButtonBox_ButtonsHaveIcons)) { reload_button->setIcon(reload_button->style()->standardIcon(QStyle::SP_BrowserReload)); } QPushButton* ignore_button = mbox.addButton(QMessageBox::Cancel); ignore_button->setText(tr("Ignore")); mbox.setDefaultButton(reload_button); mbox.exec(); if (mbox.clickedButton() == reload_button) { document->reload(false); } } else { // Process deleted file QMessageBox mbox(document->window()); mbox.setIcon(QMessageBox::Warning); mbox.setWindowTitle(tr("File Deleted")); mbox.setText(tr("The file %1 was deleted by another program.").arg(filename)); mbox.setInformativeText(tr("Do you want to save or close the file?")); mbox.setStandardButtons(QMessageBox::Save | QMessageBox::Close); mbox.setDefaultButton(QMessageBox::Save); if (mbox.exec() == QMessageBox::Save) { document->save(); } else { emit closeDocument(document); } } } }
void ProjectContentComponent::reloadLastOpenDocuments() { if (project != nullptr) { ScopedPointer<XmlElement> xml (project->getStoredProperties().getXmlValue ("lastDocs")); if (xml != nullptr) { recentDocumentList.restoreFromXML (*project, *xml); showDocument (recentDocumentList.getCurrentDocument(), true); } } }
void KJavaAppletContext::received( const TQString& cmd, const TQStringList& arg ) { kdDebug(6100) << "KJavaAppletContext::received, cmd = >>" << cmd << "<<" << endl; kdDebug(6100) << "arg count = " << arg.count() << endl; if ( cmd == TQString::fromLatin1("showstatus") && !arg.empty() ) { TQString tmp = arg.first(); tmp.replace(TQRegExp("[\n\r]"), ""); kdDebug(6100) << "status message = " << tmp << endl; emit showStatus( tmp ); } else if ( cmd == TQString::fromLatin1( "showurlinframe" ) && arg.count() > 1 ) { kdDebug(6100) << "url = " << arg[0] << ", frame = " << arg[1] << endl; emit showDocument( arg[0], arg[1] ); } else if ( cmd == TQString::fromLatin1( "showdocument" ) && !arg.empty() ) { kdDebug(6100) << "url = " << arg.first() << endl; emit showDocument( arg.first(), "_top" ); } else if ( cmd == TQString::fromLatin1( "resizeapplet" ) && arg.count() > 2 ) { //arg[1] should be appletID //arg[2] should be new width //arg[3] should be new height bool ok; const int appletID = arg[0].toInt( &ok ); const int width = arg[1].toInt( &ok ); const int height = arg[2].toInt( &ok ); if( !ok ) { kdError(DEBUGAREA) << "could not parse out parameters for resize" << endl; } else { KJavaApplet* const tmp = d->applets[appletID]; if (tmp) tmp->resizeAppletWidget( width, height ); } } else if (cmd.startsWith(TQString::fromLatin1("audioclip_"))) { kdDebug(DEBUGAREA) << "process Audio command (not yet implemented): " << cmd << " " << arg[0] << endl; } else if ( cmd == TQString::fromLatin1( "JS_Event" ) && arg.count() > 2 ) { bool ok; const int appletID = arg.first().toInt(&ok); KJavaApplet * applet; if (ok && (applet = d->applets[appletID])) { TQStringList js_args(arg); js_args.pop_front(); applet->jsData(js_args); } else kdError(DEBUGAREA) << "parse JS event " << arg[0] << " " << arg[1] << endl; } else if ( cmd == TQString::fromLatin1( "AppletStateNotification" ) ) { bool ok; const int appletID = arg.first().toInt(&ok); if (ok) { KJavaApplet* const applet = d->applets[appletID]; if ( applet ) { const int newState = arg[1].toInt(&ok); if (ok) { applet->stateChange(newState); if (newState == KJavaApplet::INITIALIZED) { kdDebug(DEBUGAREA) << "emit appletLoaded" << endl; emit appletLoaded(); } } else kdError(DEBUGAREA) << "AppletStateNotification: status is not numerical" << endl; } else kdWarning(DEBUGAREA) << "AppletStateNotification: No such Applet with ID=" << arg[0] << endl; } else kdError(DEBUGAREA) << "AppletStateNotification: Applet ID is not numerical" << endl; } else if ( cmd == TQString::fromLatin1( "AppletFailed" ) ) { bool ok; const int appletID = arg.first().toInt(&ok); if (ok) { KJavaApplet* const applet = d->applets[appletID]; /* TQString errorDetail(arg[1]); errorDetail.replace(TQRegExp(":\\s*"), ":\n"); KMessageBox::detailedError(0L, i18n("Java error while loading applet."), errorDetail); */ if (applet) applet->setFailed(); emit appletLoaded(); } } }
int UBApplication::exec(const QString& pFileToImport) { QPixmapCache::setCacheLimit(1024 * 100); QString webDbPath = UBSettings::userDataDirectory() + "/web-databases"; QDir webDbDir(webDbPath); if (!webDbDir.exists(webDbPath)) webDbDir.mkpath(webDbPath); QWebSettings::setIconDatabasePath(webDbPath); QWebSettings::setOfflineStoragePath (webDbPath); QWebSettings *gs = QWebSettings::globalSettings(); gs->setAttribute(QWebSettings::JavaEnabled, true); gs->setAttribute(QWebSettings::PluginsEnabled, true); gs->setAttribute(QWebSettings::LocalStorageDatabaseEnabled, true); gs->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, true); gs->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true); gs->setAttribute(QWebSettings::JavascriptCanAccessClipboard, true); gs->setAttribute(QWebSettings::DnsPrefetchEnabled, true); mainWindow = new UBMainWindow(0, Qt::FramelessWindowHint); // deleted by application destructor mainWindow->setAttribute(Qt::WA_NativeWindow, true); mainWindow->actionCopy->setShortcuts(QKeySequence::Copy); mainWindow->actionPaste->setShortcuts(QKeySequence::Paste); mainWindow->actionCut->setShortcuts(QKeySequence::Cut); connect(mainWindow->actionBoard, SIGNAL(triggered()), this, SLOT(showBoard())); connect(mainWindow->actionWeb, SIGNAL(triggered()), this, SLOT(showInternet())); connect(mainWindow->actionWeb, SIGNAL(triggered()), this, SLOT(stopScript())); connect(mainWindow->actionDocument, SIGNAL(triggered()), this, SLOT(showDocument())); connect(mainWindow->actionDocument, SIGNAL(triggered()), this, SLOT(stopScript())); connect(mainWindow->actionQuit, SIGNAL(triggered()), this, SLOT(closing())); connect(mainWindow, SIGNAL(closeEvent_Signal(QCloseEvent*)), this, SLOT(closeEvent(QCloseEvent*))); boardController = new UBBoardController(mainWindow); boardController->init(); webController = new UBWebController(mainWindow); documentController = new UBDocumentController(mainWindow); boardController->paletteManager()->connectToDocumentController(); UBDrawingController::drawingController()->setStylusTool((int)UBStylusTool::Pen); applicationController = new UBApplicationController(boardController->controlView(), boardController->displayView(), mainWindow, staticMemoryCleaner); connect(applicationController, SIGNAL(mainModeChanged(UBApplicationController::MainMode)), boardController->paletteManager(), SLOT(slot_changeMainMode(UBApplicationController::MainMode))); connect(applicationController, SIGNAL(desktopMode(bool)), boardController->paletteManager(), SLOT(slot_changeDesktopMode(bool))); connect(mainWindow->actionDesktop, SIGNAL(triggered(bool)), applicationController, SLOT(showDesktop(bool))); connect(mainWindow->actionDesktop, SIGNAL(triggered(bool)), this, SLOT(stopScript())); #ifndef Q_WS_MAC connect(mainWindow->actionHideApplication, SIGNAL(triggered()), mainWindow, SLOT(showMinimized())); #else connect(mainWindow->actionHideApplication, SIGNAL(triggered()), this, SLOT(showMinimized())); #endif mPreferencesController = new UBPreferencesController(mainWindow); connect(mainWindow->actionPreferences, SIGNAL(triggered()), mPreferencesController, SLOT(show())); connect(mainWindow->actionTutorial, SIGNAL(triggered()), applicationController, SLOT(showTutorial())); connect(mainWindow->actionTutorial, SIGNAL(triggered()), this, SLOT(stopScript())); connect(mainWindow->actionSankoreEditor, SIGNAL(triggered()), applicationController, SLOT(showSankoreEditor())); connect(mainWindow->actionCheckUpdate, SIGNAL(triggered()), applicationController, SLOT(checkUpdateRequest())); toolBarPositionChanged(UBSettings::settings()->appToolBarPositionedAtTop->get()); bool bUseMultiScreen = UBSettings::settings()->appUseMultiscreen->get().toBool(); mainWindow->actionMultiScreen->setChecked(bUseMultiScreen); connect(mainWindow->actionMultiScreen, SIGNAL(triggered(bool)), applicationController, SLOT(useMultiScreen(bool))); connect(mainWindow->actionWidePageSize, SIGNAL(triggered(bool)), boardController, SLOT(setWidePageSize(bool))); connect(mainWindow->actionRegularPageSize, SIGNAL(triggered(bool)), boardController, SLOT(setRegularPageSize(bool))); connect(mainWindow->actionImportUniboardDocuments, SIGNAL(triggered()), this, SLOT(importUniboardFiles())); connect(mainWindow->actionCut, SIGNAL(triggered()), applicationController, SLOT(actionCut())); connect(mainWindow->actionCopy, SIGNAL(triggered()), applicationController, SLOT(actionCopy())); connect(mainWindow->actionPaste, SIGNAL(triggered()), applicationController, SLOT(actionPaste())); applicationController->initScreenLayout(bUseMultiScreen); boardController->setupLayout(); if (pFileToImport.length() > 0) { UBApplication::applicationController->importFile(pFileToImport); } #if defined(Q_WS_MAC) static AEEventHandlerUPP ub_proc_ae_handlerUPP = AEEventHandlerUPP(ub_appleEventProcessor); AEInstallEventHandler(kCoreEventClass, kAEReopenApplication, ub_proc_ae_handlerUPP, SRefCon(UBApplication::applicationController), true); #endif if (UBSettings::settings()->appStartMode->get() == "Desktop") applicationController->showDesktop(); else applicationController->showBoard(); return QApplication::exec(); }
bool ProjectContentComponent::goToNextFile() { return showDocument (recentDocumentList.getNext(), true); }
bool ProjectContentComponent::showEditorForFile (const File& f, bool grabFocus) { return getCurrentFile() == f || showDocument (IntrojucerApp::getApp().openDocumentManager.openFile (project, f), grabFocus); }
void DocumentWatcher::processUpdates() { while (!m_updates.isEmpty()) { QString path = m_updates.takeFirst(); QFileInfo info(path); QString filename = info.fileName(); // Find document Document* document = m_paths.value(path); if (!document) { continue; } const Details& details = m_documents[document]; if (details.ignored) { continue; } // Ignore unchanged documents if (info.exists() && (details.modified == info.lastModified()) && (details.permissions == info.permissions())) { continue; } // Show document emit showDocument(document); if (info.exists()) { // Process changed file QMessageBox mbox(document->window()); mbox.setIcon(QMessageBox::Warning); mbox.setWindowTitle(tr("File Changed")); mbox.setText(tr("The file '%1' was changed by another program.").arg(filename)); mbox.setInformativeText(tr("Do you want to reload the file?")); QPushButton* reload_button = mbox.addButton(tr("Reload"), QMessageBox::AcceptRole); if (reload_button->style()->styleHint(QStyle::SH_DialogButtonBox_ButtonsHaveIcons)) { reload_button->setIcon(reload_button->style()->standardIcon(QStyle::SP_BrowserReload)); } QPushButton* ignore_button = mbox.addButton(QMessageBox::Cancel); ignore_button->setText(tr("Ignore")); mbox.setDefaultButton(reload_button); mbox.exec(); if (mbox.clickedButton() == reload_button) { document->reload(false); } } else { // Process deleted file QMessageBox mbox(document->window()); mbox.setIcon(QMessageBox::Warning); mbox.setWindowTitle(tr("File Deleted")); mbox.setText(tr("The file %1 was deleted by another program.").arg(filename)); mbox.setInformativeText(tr("Do you want to save or close the file?")); mbox.setStandardButtons(QMessageBox::Save | QMessageBox::Close | QMessageBox::Ignore); mbox.setDefaultButton(QMessageBox::Save); QAbstractButton* save_button = mbox.button(QMessageBox::Save); QAbstractButton* ignore_button = mbox.button(QMessageBox::Ignore); if (ignore_button->icon().isNull() && ignore_button->style()->styleHint(QStyle::SH_DialogButtonBox_ButtonsHaveIcons)) { ignore_button->setIcon(ignore_button->style()->standardIcon(QStyle::SP_MessageBoxWarning)); } mbox.exec(); if (mbox.clickedButton() == save_button) { document->save(); } else if (mbox.clickedButton() == ignore_button) { document->setModified(true); } else { emit closeDocument(document); } } } }
void JucerTreeViewBase::invokeShowDocument() { cancelDelayedSelectionTimer(); showDocument(); }
DOMTest :: DOMTest() : BApplication( "application/x-vnd.Themis-DOMTest" ) { printf( "Let's kick off!\n" ); TDocumentPtr document( new TDocument() ); //document->setSmartPointer( document ); printf( "Create an Element\n" ); TElementPtr scooby = document->createElement( "scooby" ); printf( "Attach element to document\n" ); document->appendChild( scooby ); printf( "Element created\n" ); printf( "Try to append same node\n" ); try { scooby->appendChild( scooby ); } catch ( TDOMException e ) { printf( "Exception caught : %s\n", e.getString() ); } TElementPtr element = document->createElement( "cookie" ); printf( "Try to append an element\n" ); try { scooby->appendChild( element ); } catch ( TDOMException e ) { printf( "Exception caught : %s\n", e.getString() ); } printf( "Tag name of the element: %s\n", element->getTagName().c_str() ); printf( "Add an attribute to the element\n" ); element->setAttribute( "me", "king" ); printf( "Retrieve the attribute that was just created\n" ); printf( "Attribute me has value: %s\n", element->getAttribute( "me" ).c_str() ); TAttrPtr attr = shared_static_cast<TAttr> ( element->getAttributes()->getNamedItem( "me" ) ); printf( "Attribute is attached to: %s\n", attr->getOwnerElement()->getNodeName().c_str() ); printf( "Remove attribute me through NamedNodeMap\n" ); element->getAttributes()->removeNamedItem( "me" ); if ( element->getAttribute( "me" ) == "" ) { printf( "Removal succesfull\n" ); } else { printf( "Removal failed\n" ); } printf( "Adding an attribute to the element for later use\n" ); element->setAttribute( "piet", "joe" ); printf( "Try to append parent to node\n" ); try { element->appendChild( scooby ); } catch ( TDOMException e ) { printf( "Exception caught : %s\n", e.getString() ); } printf( "Create a text node\n" ); //DOMPointer<TText> textNode( new TText( "Text test" ) ); TTextPtr textNode = document->createText( "This is a test" ); printf( "Text node created\n" ); printf( "Try to add an element to the text node\n" ); try { textNode->insertBefore( scooby, TNodePtr() ); } catch ( TDOMException e ) { printf( "Exception caught : %s\n", e.getString() ); } printf( "Get the name of the text node\n" ); printf( "Name: %s\n", textNode->getNodeName().c_str() ); printf( "Get a node\n" ); TNodePtr newNode = scooby->getFirstChild(); printf( "Test a node for sameness\n" ); if ( element->isSameNode( newNode ) ) { printf( "Nodes are the same\n" ); } else { printf( "Nodes are different\n" ); } printf( "Get type of node\n" ); printf( "Type of node is: %s\n", element->getNodeTypeString() ); printf( "Creating some elements...\n" ); TElementPtr base = document->createElement( "base" ); TElementPtr item1 = document->createElement( "item1" ); TElementPtr item2 = document->createElement( "item2" ); TElementPtr item3 = document->createElement( "item3" ); TElementPtr item4 = document->createElement( "item4" ); TElementPtr item5 = document->createElement( "item1" ); // Watch out: name is item1 printf( "Create a tree with the elements...\n" ); base->appendChild( item1 ); base->appendChild( item2 ); base->appendChild( item3 ); item3->appendChild( item5 ); item5->appendChild( item4 ); printf( "Add base to document\n" ); document->appendChild( base ); printf( "Printing tree...\n" ); showDocument( document ); TNodeListPtr result = base->getElementsByTagName( "item1" ); printf( "There are %i elements with tag name item1\n", (int) result->getLength() ); printf( "Still here\n" ); TNodeListPtr resultStar = base->getElementsByTagName( "*" ); printf( "There are %i elements in base\n", (int) resultStar->getLength() ); printf( "Removing an item with tag name item1...\n" ); base->removeChild( item1 ); item1.reset(); printf( "There are %i elements with tag name item1\n", (int) result->getLength() ); printf( "Removing a small piece of a tree...\n" ); base->removeChild( item3 ); resultStar = base->getElementsByTagName( "*" ); printf( "There are %i elements in base\n", (int) resultStar->getLength() ); TTextPtr text1 = document->createText( "bla " ); TTextPtr text2 = document->createText( "blub " ); base->appendChild( text1 ); base->appendChild( text2 ); TTextWeak textWeak = text1; printf( "Testing Text functions...\n" ); printf( "Whole text of nodes\n%s\n", text1->getWholeText().c_str() ); printf( "Replacing the whole text\n" ); text1.reset(); text2->replaceWholeText( "This works" ); printf( "Text2 replaced\n" ); printf( "Whole text replaced by: %s\n", text2->getWholeText().c_str() ); if ( textWeak.expired() ) { printf( "Node removed as it should be\n" ); } else { printf( "Erm, this shouldn't happen\n" ); } printf( "Printing what's left of the tree...\n" ); showDocument( document ); printf( "Printing a deep clone of the tree\n" ); TNodePtr deepClone = document->cloneNode( true ); showTree( deepClone, 1 ); printf( "Printing a shallow clone of the tree\n" ); TNodePtr shallowClone = document->cloneNode( false ); showTree( shallowClone, 1 ); printf( "Cleaning up...\n" ); // Clean up and exit scooby.reset(); element.reset(); printf( "Exiting...\n" ); be_app->PostMessage( B_QUIT_REQUESTED ); }