MainWindow::~MainWindow() { delete ui_toolBar; ui_toolBar = 0; delete ui_menubar; ui_menubar = 0; while(ui_tabWidget->count() > 0) deleteTab(0); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_currentTab(0), m_errorTab(0), m_scriptEnvironment(this) { QNetworkProxyFactory::setUseSystemConfiguration(true); setupUi(this); ui_projects->hide(); // Disabled for now /* Turns off updates so all of these things are drawn at once */ setUpdatesEnabled(false); /* Deletes the tab that QTabWidget starts with by default */ deleteTab(0); hideErrors(); connect(&m_errorList, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(errorClicked(QListWidgetItem*))); connect(&m_warningList, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(errorClicked(QListWidgetItem*))); connect(&m_linkErrorList, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(errorClicked(QListWidgetItem*))); connect(&m_verboseList, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(errorClicked(QListWidgetItem*))); initMenus(); setTitle(""); setUpdatesEnabled(true); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_currentTab(0), m_scriptEnvironment(this) { QNetworkProxyFactory::setUseSystemConfiguration(true); setupUi(this); m_projectsModel.setProjectManager(&ProjectManager::ref()); ui_projects->setModel(&m_projectsModel); // ui_projects->hide(); // Disabled for now /* Turns off updates so all of these things are drawn at once */ setUpdatesEnabled(false); /* Deletes the tab that QTabWidget starts with by default */ deleteTab(0); hideErrors(); //connect(ui_projects, SIGNAL(clicked(const QModelIndex&)), SLOT(projectFileClicked(const QModelIndex&))); connect(ui_projects, SIGNAL(doubleClicked(const QModelIndex&)), SLOT(projectClicked(const QModelIndex&))); connect(&ProjectManager::ref(), SIGNAL(projectOpened(Project*)), SLOT(projectOpened(Project*))); connect(&ProjectManager::ref(), SIGNAL(projectClosed(Project*)), SLOT(projectClosed(Project*))); ui_projectFrame->setVisible(false); initMenus(); setTitle(""); setUpdatesEnabled(true); }
// Outdent a region n tab stops. int outdentRegion(Value *rp,int n) { int count; Dot *dotp; // Validate n and determine number of tab stops. if(n == INT_MIN) count = 1; else if(n < 0) return rcset(FAILURE,0,text39,text137,n,0); // "%s (%d) must be %d or greater","Repeat count" else count = n; // Get number of lines. if(reglines(&n,NULL) != SUCCESS) return rc.status; dotp = &curwp->w_face.wf_dot; // Loop through lines in block. kentry.lastflag &= ~CFVMOV; do { dotp->off = 0; if(deleteTab(rp,count) != SUCCESS) return rc.status; // Move to the next line. (void) forwln(1); // Can't fail. } while(--n > 0); kentry.thisflag &= ~CFVMOV; // Flag that this resets the goal column. lchange(curbp,WFEDIT); // Yes, we have made at least an edit. return rc.status; }
void MainWindow::closeAllOthers(TabbedWidget* tab) { int i = 0; while(ui_tabWidget->count() > 1) { if(lookup(ui_tabWidget->widget(i)) == tab) ++i; deleteTab(i); } }
void MainWindow::closeProjectTabs(Project* project) { QList<TabbedWidget*> all = tabs(); int i = 0; while(i < ui_tabWidget->count()) { if(all.contains(lookup(ui_tabWidget->widget(i)))) ++i; deleteTab(i); } ui_errors->hide(); }
void MainWindow::closeTab(bool force) { if(ui_tabWidget->count() == 0) return; if(!lookup(ui_tabWidget->currentWidget())->close() && !force) return; deleteTab(ui_tabWidget->currentIndex()); ui_errors->hide(); emit updateActivatable(); UiEventManager::ref().sendEvent(UI_EVENT_CLOSE_TAB); }
bool MainWindow::closeFile(const QString& file) { if(file.isEmpty()) return false; QList<TabbedWidget*> fileTabs = tabs(); bool removed = false; foreach(TabbedWidget* tab, fileTabs) { if(file == tab->associatedFile()) { deleteTab(ui_tabWidget->indexOf(tab->widget())); removed |= true; } } return removed; }
void MainWindow::deleteCurrentTab() { deleteTab(currentTab()); }
void TabWidget::init() { setWindowRole("kadu-tabs"); TabBar *tabbar = new TabBar(this); setTabBar(tabbar); setAcceptDrops(true); setMovable(true); setDocumentMode(true); connect(tabbar, SIGNAL(contextMenu(int, const QPoint &)), SLOT(onContextMenu(int, const QPoint &))); connect(tabbar, SIGNAL(tabCloseRequested(int)), SLOT(onDeleteTab(int))); connect(tabbar,SIGNAL(mouseDoubleClickEventSignal(QMouseEvent *)), SLOT(mouseDoubleClickEvent(QMouseEvent *))); connect(tabbar, SIGNAL(currentChanged(int)), SLOT(currentTabChanged(int))); //widget (container) for buttons with opening conversations //both buttons are displayed when checking Show "New Tab" button in configurations OpenChatButtonsWidget = new QWidget(this); QHBoxLayout *horizontalLayout = new QHBoxLayout; horizontalLayout->setSpacing(2); horizontalLayout->setContentsMargins(3, 0, 2, 3); //button for new chat from last conversations OpenRecentChatButton = new QToolButton(OpenChatButtonsWidget); OpenRecentChatButton->setIcon(m_iconsManager->iconByPath(KaduIcon("internet-group-chat"))); OpenRecentChatButton->setToolTip(tr("Recent Chats")); OpenRecentChatButton->setAutoRaise(true); connect(OpenRecentChatButton, SIGNAL(clicked()), SLOT(openRecentChatsMenu())); //menu for recent chats RecentChatsMenuWidget = m_pluginInjectedFactory->makeInjected<RecentChatsMenu>(OpenRecentChatButton); connect(RecentChatsMenuWidget, SIGNAL(triggered(QAction *)), this, SLOT(openRecentChat(QAction *))); connect(RecentChatsMenuWidget, SIGNAL(chatsListAvailable(bool)), OpenRecentChatButton, SLOT(setEnabled(bool))); //button for opening chat QToolButton *openChatButton = new QToolButton(OpenChatButtonsWidget); openChatButton->setIcon(m_iconsManager->iconByPath(KaduIcon("mail-message-new"))); openChatButton->setToolTip(tr("Open Chat with...")); openChatButton->setAutoRaise(true); connect(openChatButton, SIGNAL(clicked()), SLOT(newChat())); horizontalLayout->addWidget(OpenRecentChatButton); horizontalLayout->addWidget(openChatButton); OpenChatButtonsWidget->setLayout(horizontalLayout); OpenChatButtonsWidget->setVisible(false); RightCornerWidget = new QWidget(this); QHBoxLayout *rightCornerWidgetLayout = new QHBoxLayout; rightCornerWidgetLayout->setSpacing(2); rightCornerWidgetLayout->setContentsMargins(3, 0, 2, 3); TabsMenu = new QMenu(this); connect(TabsMenu, SIGNAL(triggered(QAction *)), this, SLOT(tabsMenuSelected(QAction *))); TabsListButton = new QToolButton(RightCornerWidget); TabsListButton->setIcon(m_iconsManager->iconByPath(KaduIcon("internet-group-chat"))); TabsListButton->setToolTip(tr("Tabs")); TabsListButton->setAutoRaise(true); TabsListButton->setVisible(false); TabsListButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); TabsListButton->setMenu(TabsMenu); connect(TabsListButton, SIGNAL(clicked()), SLOT(openTabsList())); rightCornerWidgetLayout->addWidget(TabsListButton); //przycisk zamkniecia aktywnej karty znajdujacy sie w prawym gornym rogu CloseChatButton = new QToolButton(this); CloseChatButton->setIcon(m_iconsManager->iconByPath(KaduIcon("kadu_icons/tab-remove"))); CloseChatButton->setToolTip(tr("Close Tab")); CloseChatButton->setAutoRaise(true); CloseChatButton->setVisible(false); connect(CloseChatButton, SIGNAL(clicked()), SLOT(deleteTab())); rightCornerWidgetLayout->addWidget(CloseChatButton); RightCornerWidget->setLayout(rightCornerWidgetLayout); setCornerWidget(RightCornerWidget, Qt::TopRightCorner); configurationUpdated(); }