⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 workspacewindow.h

📁 linux 下的 图形化的 SVN 相当于 VSS
💻 H
字号:
/*************************************************************************** *   Copyright (C) 2004 by Eugene Bort                                     * *   esvn@umputun.com                                                      * *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License as published by  * *   the Free Software Foundation; either version 2 of the License, or     * *   (at your option) any later version.                                   * *                                                                         * *   This program is distributed in the hope that it will be useful,       * *   but WITHOUT ANY WARRANTY; without even the implied warranty of        * *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         * *   GNU General Public License for more details.                          * *                                                                         *  ***************************************************************************/#ifndef WORKSPACE_WINDOW_H#define WORKSPACE_WINDOW_H#include <qlistview.h> #include <qheader.h> #include <map>using namespace std;#include "dlg_workspace.h"#include "dlg_ws_edit.h"class C_WsWindow : public dlg_workspace {public:	C_WsWindow(QWidget* parent = 0, const char* name = 0) :		dlg_workspace(parent, name) {}	void wsData(map<QString, QStringList>* ws_data) {		ws_data_ = ws_data;	}	void fillWsInfo() {		lv_wslist->clear();		tx_full->clear();		map<QString, QStringList>::iterator iter_ws;		for (iter_ws = ws_data_->begin(); iter_ws != ws_data_->end(); ++iter_ws) {			QListViewItem *item = new QListViewItem(lv_wslist, 0);			item->setText(0, iter_ws->first);			QStringList dirs = iter_ws->second;			QString long_str;			for (size_t i=0; i<dirs.size(); i++) 				long_str = long_str + dirs[i] + "; ";			item->setText(1, long_str);		}		lv_wslist->setSelected(lv_wslist->firstChild(), TRUE);	}	void bt_add_clicked() {		bool ok;		QString text = QInputDialog::getText("New workspace",				"Enter workspace name:", QLineEdit::Normal,				QString::null, &ok, this );		if ( ok && !text.isEmpty() ) {			dlg_ws_edit ws_edit;			ws_edit.setCaption(text);			ws_edit.lv_dirs->header()->hide();			if (ws_edit.exec() == QDialog::Accepted) {				QListViewItem *item = ws_edit.lv_dirs->firstChild();				if (item) {					QStringList dirs;								while(item) {						dirs.push_back(item->text(0));						item = item->itemBelow();					}					(*ws_data_)[text] = dirs;				}				fillWsInfo();			}		}			}	void bt_edit_clicked() {		QListViewItem* item = lv_wslist->selectedItem();		if (item) {			dlg_ws_edit ws_edit;			QListViewItem* item = lv_wslist->selectedItem();			ws_edit.setCaption(item->text(0));			ws_edit.lv_dirs->header()->hide();			QStringList dirs_list = QStringList::split("; ", item->text(1) );			for (size_t i=0; i<dirs_list.size(); i++) {				QListViewItem* dir_item = new QListViewItem(ws_edit.lv_dirs);				dir_item->setText(0, dirs_list[i]);			}			if (ws_edit.exec() == QDialog::Accepted) {				QListViewItem *dir_item = ws_edit.lv_dirs->firstChild();				if (item) {					QStringList dirs;								while(dir_item) {						dirs.push_back(dir_item->text(0));						dir_item = dir_item->itemBelow();					}					(*ws_data_)[item->text(0)] = dirs;				}				fillWsInfo();			}		}	}	void bt_delete_clicked() {		QListViewItem* item = lv_wslist->selectedItem();		if (item) {			ws_data_->erase(ws_data_->find(item->text(0)));			fillWsInfo();		}	}	void bt_rename_clicked() {		QListViewItem* item = lv_wslist->selectedItem();		if (item) {			bool ok;			QString text = QInputDialog::getText("Rename workspace " + item->text(0),					"Enter workspace name:", QLineEdit::Normal,					QString::null, &ok, this );			if ( ok && !text.isEmpty() ) {				map<QString, QStringList>::iterator iter_ws = ws_data_->find(item->text(0));				if (iter_ws != ws_data_->end()) {					ws_data_->insert(map<QString, QStringList>::value_type(text, iter_ws->second));					ws_data_->erase(iter_ws);				}			}			fillWsInfo();		}	}private:	map<QString, QStringList>* ws_data_;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -