Beispiel #1
0
void SimonView::setupActions()
{
  connectAction = new KAction(this);
  connectAction->setText(i18n("Connect"));
  connectAction->setCheckable(true);
  connectAction->setIcon(KIcon("network-disconnect"));
  connect(connectAction, SIGNAL(triggered(bool)),
    this, SLOT(toggleConnection()));
  actionCollection()->addAction("connect", connectAction);
  this->trayManager->addAction("connect", connectAction);

  activateAction = new KAction(this);
  activateAction->setText(i18n("Activate"));
  activateAction->setIcon(KIcon("media-playback-start"));
  activateAction->setCheckable(true);
  connect(activateAction, SIGNAL(triggered(bool)),
    this, SLOT(toggleActivation()));
  this->trayManager->addAction("activate", activateAction);
  activateAction->setEnabled(false);
  actionCollection()->addAction("activate", activateAction);
  //must be set after addAction() because of the unique name set in addAction(name,...)
  // deactivated because of KDE bug #307225
  //activateAction->setGlobalShortcut(KShortcut(Qt::SHIFT + Qt::Key_Pause));

  disconnectAction = new KAction(this);
  disconnectAction->setText(i18n("Disconnect"));
  disconnectAction->setIcon(KIcon("network-disconnect"));
  connect(disconnectAction, SIGNAL(triggered(bool)),
    control, SLOT(disconnectFromServer()));

  KToolBarPopupAction* connectActivate = new KToolBarPopupAction(KIcon("network-disconnect"), i18n("Connect"), this);
  connectActivate->setCheckable(true);
  connectActivate->setShortcut(Qt::CTRL + Qt::Key_C);

  actionCollection()->addAction("connectActivate", connectActivate);
  connect(connectActivate, SIGNAL(triggered(bool)),
    this, SLOT(toggleConnection()));

  
  KAction* recompile = new KAction(this);
  recompile->setEnabled(control->getStatus() != SimonControl::Disconnected);
  recompile->setText(i18n("Synchronize"));
  recompile->setIcon(KIcon("view-refresh"));
  recompile->setShortcut(Qt::CTRL + Qt::Key_F5);
  actionCollection()->addAction("compileModel", recompile);
  connect(recompile, SIGNAL(triggered(bool)),
    control, SLOT(compileModel()));

  KAction* sendSampleShareAction = new KAction(this);
  sendSampleShareAction->setText(i18n("Contribute samples"));
  sendSampleShareAction->setIcon(KIcon("repository"));
  actionCollection()->addAction("sampleShare", sendSampleShareAction);
  connect(sendSampleShareAction, SIGNAL(triggered(bool)),this, SLOT(showSampleShare()));
  
  actionCollection()->addAction(KStandardAction::Preferences, "configuration",
    this, SLOT(showSystemDialog()));

  KStandardAction::quit(this, SLOT(closeSimon()),
    actionCollection());
}
void ActionManagerImpl::initFrameManager(FrameManager* frameManager)
{
    if (d->frameManager)
        return;

    d->frameManager = frameManager;

    bool isRTL = QApplication::isRightToLeft();

    KToolBarPopupAction* forward = new KToolBarPopupAction(KIcon(isRTL ? "go-previous" : "go-next"), i18nc("Go forward in browser history", "Forward"), this);
    d->actionCollection->addAction("browser_forward", forward);
    forward->setShortcuts(KShortcut(isRTL ? "Alt+Left" : "Alt+Right"));
    connect(forward, SIGNAL(triggered()), frameManager, SLOT(slotBrowserForward()));

    connect(forward->menu(), SIGNAL(aboutToShow()), frameManager, SLOT(slotBrowserForwardAboutToShow()));

    KToolBarPopupAction* back = new KToolBarPopupAction(KIcon(isRTL ? "go-next" : "go-previous"), i18nc("Go back in browser history", "Back"), this);
    d->actionCollection->addAction("browser_back", back);
    back->setShortcuts(KShortcut(isRTL ?  "Alt+Right" : "Alt+Left"));
    connect(back, SIGNAL(triggered()), frameManager, SLOT(slotBrowserBack()));

    connect(back->menu(), SIGNAL(aboutToShow()), frameManager, SLOT(slotBrowserBackAboutToShow()));

    KAction *action = d->actionCollection->addAction("browser_reload");
    action->setIcon(KIcon("view-refresh"));
    action->setText(i18nc("Reload current page", "Reload"));
    connect(action, SIGNAL(triggered(bool)), frameManager, SLOT(slotBrowserReload()));

    action = d->actionCollection->addAction("browser_stop");
    action->setIcon(KIcon("process-stop"));
    action->setText(i18n("Stop"));
    connect(action, SIGNAL(triggered(bool)), frameManager, SLOT(slotBrowserStop()));
}
Beispiel #3
0
KCommandHistory::KCommandHistory(KActionCollection * actionCollection, bool withMenus) :
    m_undoLimit(50), m_redoLimit(30), m_first(false)
{
    d=new KCommandHistoryPrivate();
    if (withMenus)
    {
        KToolBarPopupAction * undo = new KToolBarPopupAction( i18n("&Undo"), "undo",
                                          KStdAccel::shortcut(KStdAccel::Undo), this, SLOT( undo() ),
                                          actionCollection, KStdAction::stdName( KStdAction::Undo ) );
        connect( undo->popupMenu(), SIGNAL( aboutToShow() ), this, SLOT( slotUndoAboutToShow() ) );
        connect( undo->popupMenu(), SIGNAL( activated( int ) ), this, SLOT( slotUndoActivated( int ) ) );
        m_undo = undo;
        m_undoPopup = undo->popupMenu();

        KToolBarPopupAction * redo = new KToolBarPopupAction( i18n("&Redo"), "redo",
                                          KStdAccel::shortcut(KStdAccel::Redo), this, SLOT( redo() ),
                                          actionCollection, KStdAction::stdName( KStdAction::Redo ) );
        connect( redo->popupMenu(), SIGNAL( aboutToShow() ), this, SLOT( slotRedoAboutToShow() ) );
        connect( redo->popupMenu(), SIGNAL( activated( int ) ), this, SLOT( slotRedoActivated( int ) ) );
        m_redo = redo;
        m_redoPopup = redo->popupMenu();
    }
    else
    {
Beispiel #4
0
	/**
	 * \brief Make the widgets represent the current state (connected / disconnected, active/inactive)
	 *
	 * \author Peter Grasch
	 */
	void SimonView::representState(SimonControl::SystemStatus status)
	{
	  guiUpdateMutex.lock();
	  KToolBarPopupAction *connectActivate = dynamic_cast<KToolBarPopupAction*>(actionCollection()->action("connectActivate"));
	  QAction *compileAction = actionCollection()->action("compileModel");
	  if (compileAction)
	    compileAction->setEnabled(status != SimonControl::Disconnected);
	  switch (status) {
	    case SimonControl::Disconnected:
	    {
	      displayConnectionStatus(i18nc("Disconnected from the server", "Disconnected"));

	      if (connectActivate) {
		connectActivate->setText(i18n ( "Connect" ));
		connectActivate->setChecked(false);
		connectActivate->setIcon(KIcon("network-disconnect"));
		if (connectActivate->menu()->actions().contains(disconnectAction))
		  connectActivate->menu()->removeAction(disconnectAction);

		disconnect(connectActivate,0,0,0);
		connect(connectActivate, SIGNAL(triggered(bool)),
		  this, SLOT(toggleConnection()));
	      }

	      SimonInfo::showMessage ( i18n ( "Connection to server lost" ), 4000 ); // krazy:exclude=qmethods
	      
	      activateAction->setEnabled(false);
	      activateAction->setText(i18n("Activate"));
	      activateAction->setIcon(KIcon("media-playback-start"));
	      activateAction->setChecked(false);

	      if (trayManager)
		trayManager->createIcon ( KIcon ( KIconLoader().loadIcon("simon", KIconLoader::Panel, KIconLoader::SizeMedium, KIconLoader::DisabledState) ), i18n ( "Simon - Deactivated" ) );
      connectAction->setText(i18n("Connect"));
      connectAction->setChecked(false);
      connectAction->setIcon(KIcon("network-disconnect"));
      break;
    }

    case SimonControl::Connecting:
    {
      QString connectionStr = i18nc("Connecting to the server", "Connecting...");

      if (connectActivate) {
        connectActivate->setText(connectionStr);
        connectActivate->setChecked(true);
        connectActivate->setIcon(KIcon("network-disconnect"));

        disconnect(connectActivate,0,0,0);
        connect(connectActivate, SIGNAL(triggered(bool)),
          this, SLOT(toggleConnection()));
      }
      displayConnectionStatus(connectionStr);
      if (connectActivate->menu()->actions().contains(disconnectAction))
        connectActivate->menu()->removeAction(disconnectAction);

      connectAction->setText(connectionStr);
      connectAction->setChecked(true);
      connectAction->setIcon(KIcon("network-disconnect"));

      break;
    }

    case SimonControl::ConnectedDeactivating:
    {
      displayConnectionStatus(i18n("Connected: Deactivating..."));
      if (connectActivate) {
        connectActivate->setText(i18n("Deactivating..."));
        connectActivate->setChecked(false);
      }
      activateAction->setEnabled(true);
      activateAction->setText("Deactivating...");
      activateAction->setChecked(false);
      break;
    }

    case SimonControl::ConnectedDeactivatedNotReady:
    case SimonControl::ConnectedPaused:
    case SimonControl::ConnectedDeactivatedReady:
    {
      displayConnectionStatus(i18n("Connected but Deactivated"));

      if (connectActivate) {
        connectActivate->setText(i18n ( "Activate" ));
        connectActivate->setChecked(false);
        connectActivate->setIcon(KIcon("media-playback-start"));

        disconnect(connectActivate,0,0,0);
        connect(connectActivate, SIGNAL(triggered(bool)),
          this, SLOT(toggleActivation()));

        //add disconnect action with icon network-disconnect
        if (!connectActivate->menu()->actions().contains(disconnectAction))
          connectActivate->menu()->addAction(disconnectAction);
      }

      activateAction->setEnabled(true);
      activateAction->setText(i18n("Activate"));
      activateAction->setChecked(false);
      activateAction->setIcon(KIcon("media-playback-start"));
      connectAction->setText(i18n("Connected"));
      connectAction->setIcon(KIcon("network-connect"));
      connectAction->setChecked(true);

      SimonInfo::showMessage ( i18n ( "Simon has been deactivated" ), 2000 );

      this->trayManager->createIcon ( KIcon ( KIconLoader().loadIcon("simon", KIconLoader::Panel, KIconLoader::SizeMedium, KIconLoader::DisabledState) ), i18n ( "simon - Deactivated" ) );
      //repaint();
      break;
    }

    case SimonControl::ConnectedResuming:
    case SimonControl::ConnectedActivating:
    {
      displayConnectionStatus(i18n("Connected: Activating..."));
      if (connectActivate) {
        connectActivate->setText(i18n("Activating..."));
        connectActivate->setChecked(false);
      }
      activateAction->setText(i18n("Activating..."));
      activateAction->setChecked(false);
    }

    case SimonControl::ConnectedActivated:
    {
      displayConnectionStatus(i18n("Connected and Activated"));

      if (connectActivate) {
        connectActivate->setText(i18n ( "Activated" ));
        connectActivate->setChecked(true);
        connectActivate->setIcon(KIcon("media-playback-start"));

        disconnect(connectActivate,0,0,0);
        connect(connectActivate, SIGNAL(triggered(bool)),
          this, SLOT(toggleActivation()));

        if (!connectActivate->menu()->actions().contains(disconnectAction))
          connectActivate->menu()->addAction(disconnectAction);
      }

      activateAction->setText(i18n("Activated"));
      activateAction->setChecked(true);
      activateAction->setIcon(KIcon("media-playback-start"));

      this->trayManager->createIcon ( KIcon ( "simon" ), "Simon" );

      SimonInfo::showMessage ( i18n ( "Simon has been activated" ), 2000 );

      break;
    }
  }
  guiUpdateMutex.unlock();
}
Beispiel #5
0
//BEGIN class ItemView
ItemView::ItemView(ItemDocument * itemDocument, ViewContainer *viewContainer, uint viewAreaId, const char *name)
		: View(itemDocument, viewContainer, viewAreaId, name) {
	KActionCollection * ac = actionCollection();

	KStdAction::selectAll(itemDocument,	SLOT(selectAll()),	ac);
	KStdAction::zoomIn(this,		SLOT(zoomIn()),		ac);
	KStdAction::zoomOut(this,		SLOT(zoomOut()),	ac);
	KStdAction::actualSize(this,		SLOT(actualSize()),	ac)->setEnabled(false);


	KAccel *pAccel = new KAccel(this);
	pAccel->insert("Cancel", i18n("Cancel"), i18n("Cancel the current operation"), Qt::Key_Escape, itemDocument, SLOT(cancelCurrentOperation()));
	pAccel->readSettings();

	new KAction(i18n("Delete"), "editdelete", Qt::Key_Delete, itemDocument, SLOT(deleteSelection()), ac, "edit_delete");
	new KAction(i18n("Export as Image..."), 0, 0, itemDocument, SLOT(exportToImage()), ac, "file_export_image");

	//BEGIN Item Alignment actions
	new KAction(i18n("Align Horizontally"), 0, 0, itemDocument, SLOT(alignHorizontally()), ac, "align_horizontally");
	new KAction(i18n("Align Vertically"), 0, 0, itemDocument, SLOT(alignVertically()), ac, "align_vertically");
	new KAction(i18n("Distribute Horizontally"), 0, 0, itemDocument, SLOT(distributeHorizontally()), ac, "distribute_horizontally");
	new KAction(i18n("Distribute Vertically"), 0, 0, itemDocument, SLOT(distributeVertically()), ac, "distribute_vertically");
	//END Item Alignment actions


	//BEGIN Draw actions
	KToolBarPopupAction * pa = new KToolBarPopupAction(i18n("Draw"), "paintbrush", 0, 0, 0, ac, "edit_draw");
	pa->setDelayed(false);

	KPopupMenu * m = pa->popupMenu();
	m->insertTitle(i18n("Draw"));

	m->insertItem(KGlobal::iconLoader()->loadIcon("tool_text",	KIcon::Small), i18n("Text"),		DrawPart::da_text);
	m->insertItem(KGlobal::iconLoader()->loadIcon("tool_line",	KIcon::Small), i18n("Line"),		DrawPart::da_line);
	m->insertItem(KGlobal::iconLoader()->loadIcon("tool_arrow",	KIcon::Small), i18n("Arrow"),		DrawPart::da_arrow);
	m->insertItem(KGlobal::iconLoader()->loadIcon("tool_ellipse",	KIcon::Small), i18n("Ellipse"),	DrawPart::da_ellipse);
	m->insertItem(KGlobal::iconLoader()->loadIcon("tool_rectangle", KIcon::Small), i18n("Rectangle"),	DrawPart::da_rectangle);
	m->insertItem(KGlobal::iconLoader()->loadIcon("imagegallery",	KIcon::Small), i18n("Image"),		DrawPart::da_image);
	connect(m, SIGNAL(activated(int)), itemDocument, SLOT(slotSetDrawAction(int)));
	//END Draw actions


	//BEGIN Item Control actions
	new KAction(i18n("Raise Selection"), "bring_forward", Qt::Key_PageUp,   itemDocument, SLOT(raiseZ()), ac, "edit_raise");
	new KAction(i18n("Lower Selection"), "send_backward", Qt::Key_PageDown, itemDocument, SLOT(lowerZ()), ac, "edit_lower");
	//END Item Control actions


	KAction * na = new KAction("", 0, 0, 0, 0, ac, "null_action");
	na->setEnabled(false);

	setXMLFile("ktechlabitemviewui.rc");

	m_pUpdateStatusTmr = new QTimer(this);
	connect(m_pUpdateStatusTmr, SIGNAL(timeout()), this, SLOT(updateStatus()));
	connect(this, SIGNAL(unfocused()), this, SLOT(stopUpdatingStatus()));

	m_pDragItem = 0l;
	p_itemDocument = itemDocument;
	m_zoomLevel = 1.;
	m_CVBEditor = new CVBEditor(p_itemDocument->canvas(), this, "cvbEditor");
	m_CVBEditor->setLineWidth(1);

	connect(m_CVBEditor, SIGNAL(horizontalSliderReleased()), itemDocument, SLOT(requestCanvasResize()));
	connect(m_CVBEditor, SIGNAL(verticalSliderReleased()), itemDocument, SLOT(requestCanvasResize()));

	m_layout->insertWidget(0, m_CVBEditor);

	setAcceptDrops(true);

	setFocusWidget(m_CVBEditor->viewport());
}