mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-01-20 19:11:39 -06:00
Nuked listview and replaces with treeview
This commit is contained in:
@@ -183,42 +183,45 @@ void mainForm::fileNew()
|
||||
|
||||
void mainForm::populateStructure()
|
||||
{
|
||||
dblistView->clear();
|
||||
dblistView->setSorting(-1);
|
||||
dbTreeWidget->model()->removeRows(0, dbTreeWidget->model()->rowCount());
|
||||
if (!db.isOpen()){
|
||||
return;
|
||||
return;
|
||||
}
|
||||
db.updateSchema();
|
||||
tableMap::Iterator it;
|
||||
tableMap tmap = db.tbmap;
|
||||
Q3ListViewItem * lasttbitem = 0;
|
||||
for ( it = tmap.begin(); it != tmap.end(); ++it ) {
|
||||
Q3ListViewItem * tbitem = new Q3ListViewItem( dblistView, lasttbitem );
|
||||
//tbitem->setOpen( TRUE );
|
||||
tbitem->setText( 0, it.data().getname() );
|
||||
tbitem->setText( 1, "table" );
|
||||
tbitem->setText( 3, it.data().getsql() );
|
||||
fieldMap::Iterator fit;
|
||||
fieldMap fmap = it.data().fldmap;
|
||||
Q3ListViewItem * lastflditem = 0;
|
||||
for ( fit = fmap.begin(); fit != fmap.end(); ++fit ) {
|
||||
Q3ListViewItem * fielditem = new Q3ListViewItem(tbitem, lastflditem);
|
||||
fielditem->setText( 0, fit.data().getname() );
|
||||
fielditem->setText( 1, "field" );
|
||||
fielditem->setText( 2, fit.data().gettype() );
|
||||
lastflditem = fielditem;
|
||||
}
|
||||
lasttbitem = tbitem;
|
||||
}
|
||||
indexMap::Iterator it2;
|
||||
indexMap imap = db.idxmap;
|
||||
for ( it2 = imap.begin(); it2 != imap.end(); ++it2 ) {
|
||||
Q3ListViewItem * item = new Q3ListViewItem( dblistView, lasttbitem );
|
||||
item->setText( 0, it2.data().getname());
|
||||
item->setText( 1, "index" );
|
||||
item->setText( 3, it2.data().getsql() );
|
||||
lasttbitem = item ;
|
||||
|
||||
for ( it = tmap.begin(); it != tmap.end(); ++it ) {
|
||||
|
||||
//* Table node
|
||||
QTreeWidgetItem *tableItem = new QTreeWidgetItem();
|
||||
tableItem->setText(0, it.data().getname());
|
||||
tableItem->setText(1, "table");
|
||||
tableItem->setText(3, it.data().getsql());
|
||||
tableItem->setIcon(0, QIcon(":/icons/table"));
|
||||
dbTreeWidget->addTopLevelItem(tableItem);
|
||||
|
||||
//* Field Nodes
|
||||
fieldMap::Iterator fit;
|
||||
fieldMap fmap = it.data().fldmap;
|
||||
for ( fit = fmap.begin(); fit != fmap.end(); ++fit ) {
|
||||
QTreeWidgetItem *fldItem = new QTreeWidgetItem(tableItem);
|
||||
fldItem->setText( 0, fit.data().getname() );
|
||||
fldItem->setText( 1, "field" );
|
||||
fldItem->setText( 2, fit.data().gettype() );
|
||||
fldItem->setIcon(0, QIcon(":/icons/field"));
|
||||
}
|
||||
}
|
||||
indexMap::Iterator it2;
|
||||
indexMap imap = db.idxmap;
|
||||
for ( it2 = imap.begin(); it2 != imap.end(); ++it2 ) {
|
||||
QTreeWidgetItem *idxItem = new QTreeWidgetItem();
|
||||
idxItem->setText( 0, it2.data().getname() );
|
||||
idxItem->setText( 1, "index" );
|
||||
idxItem->setText( 3, it2.data().getsql() );
|
||||
idxItem->setIcon(0, QIcon(":/icons/index"));
|
||||
dbTreeWidget->addTopLevelItem(idxItem);
|
||||
}
|
||||
}
|
||||
|
||||
void mainForm::populateTable( const QString & tablename)
|
||||
|
||||
@@ -14,6 +14,10 @@
|
||||
|
||||
#include <Qt3Support/Q3Header>
|
||||
#include <Qt3Support/Q3ListView>
|
||||
#include <QtGui/QTreeWidget>
|
||||
#include <QtGui/QTreeWidgetItem>
|
||||
#include <QtGui/QHeaderView>
|
||||
|
||||
#include <QtGui/QMainWindow>
|
||||
#include <Qt3Support/Q3MimeSourceFactory>
|
||||
#include <Qt3Support/Q3Table>
|
||||
@@ -80,7 +84,9 @@ public:
|
||||
QTabWidget *mainTab;
|
||||
QWidget *structure;
|
||||
QVBoxLayout *vboxLayout1;
|
||||
Q3ListView *dblistView;
|
||||
|
||||
QTreeWidget *dbTreeWidget;
|
||||
|
||||
QWidget *browser;
|
||||
QVBoxLayout *vboxLayout2;
|
||||
QHBoxLayout *hboxLayout;
|
||||
@@ -225,7 +231,6 @@ public:
|
||||
editCreateTableAction->setObjectName(QString::fromUtf8("editCreateTableAction"));
|
||||
editCreateTableAction->setName("editCreateTableAction");
|
||||
editCreateTableAction->setEnabled(false);
|
||||
//const QIcon icon7 = QIcon(qPixmapFromMimeSource("create_table.png"));
|
||||
editCreateTableAction->setIcon(QIcon(":/icons/table_create"));
|
||||
|
||||
//** Delete table
|
||||
@@ -233,7 +238,6 @@ public:
|
||||
editDeleteTableAction->setObjectName(QString::fromUtf8("editDeleteTableAction"));
|
||||
editDeleteTableAction->setName("editDeleteTableAction");
|
||||
editDeleteTableAction->setEnabled(false);
|
||||
//const QIcon icon8 = QIcon(qPixmapFromMimeSource("delete_table.png"));
|
||||
editDeleteTableAction->setIcon(QIcon(":/icons/table_delete"));
|
||||
|
||||
//** Modify Table
|
||||
@@ -241,7 +245,6 @@ public:
|
||||
editModifyTableAction->setObjectName(QString::fromUtf8("editModifyTableAction"));
|
||||
editModifyTableAction->setName("editModifyTableAction");
|
||||
editModifyTableAction->setEnabled(false);
|
||||
// const QIcon icon9 = QIcon(qPixmapFromMimeSource("modify_table.png"));
|
||||
editModifyTableAction->setIcon(QIcon(":/icons/table_modify"));
|
||||
|
||||
//** Create Index
|
||||
@@ -249,14 +252,12 @@ public:
|
||||
editCreateIndexAction->setObjectName(QString::fromUtf8("editCreateIndexAction"));
|
||||
editCreateIndexAction->setName("editCreateIndexAction");
|
||||
editCreateIndexAction->setEnabled(false);
|
||||
//const QIcon icon10 = QIcon(qPixmapFromMimeSource("create_index.png"));
|
||||
editCreateIndexAction->setIcon(QIcon(":/icons/index_create"));
|
||||
|
||||
editDeleteIndexAction = new QAction(mainForm);
|
||||
editDeleteIndexAction->setObjectName(QString::fromUtf8("editDeleteIndexAction"));
|
||||
editDeleteIndexAction->setName("editDeleteIndexAction");
|
||||
editDeleteIndexAction->setEnabled(false);
|
||||
//const QIcon icon11 = QIcon(qPixmapFromMimeSource("delete_index.png"));
|
||||
editDeleteIndexAction->setIcon(QIcon(":/icons/index_delete"));
|
||||
|
||||
fileImportSQLAction = new QAction(mainForm);
|
||||
@@ -283,26 +284,19 @@ public:
|
||||
vboxLayout1->setSpacing(6);
|
||||
vboxLayout1->setContentsMargins(11, 11, 11, 11);
|
||||
vboxLayout1->setObjectName(QString::fromUtf8("vboxLayout1"));
|
||||
dblistView = new Q3ListView(structure);
|
||||
dblistView->addColumn(QApplication::translate("mainForm", "Name", 0, QApplication::UnicodeUTF8));
|
||||
dblistView->header()->setClickEnabled(false, dblistView->header()->count() - 1);
|
||||
dblistView->header()->setResizeEnabled(true, dblistView->header()->count() - 1);
|
||||
dblistView->addColumn(QApplication::translate("mainForm", "Object", 0, QApplication::UnicodeUTF8));
|
||||
dblistView->header()->setClickEnabled(false, dblistView->header()->count() - 1);
|
||||
dblistView->header()->setResizeEnabled(true, dblistView->header()->count() - 1);
|
||||
dblistView->addColumn(QApplication::translate("mainForm", "Type", 0, QApplication::UnicodeUTF8));
|
||||
dblistView->header()->setClickEnabled(false, dblistView->header()->count() - 1);
|
||||
dblistView->header()->setResizeEnabled(true, dblistView->header()->count() - 1);
|
||||
dblistView->addColumn(QApplication::translate("mainForm", "Schema", 0, QApplication::UnicodeUTF8));
|
||||
dblistView->header()->setClickEnabled(false, dblistView->header()->count() - 1);
|
||||
dblistView->header()->setResizeEnabled(true, dblistView->header()->count() - 1);
|
||||
dblistView->setObjectName(QString::fromUtf8("dblistView"));
|
||||
dblistView->setResizePolicy(Q3ScrollView::Manual);
|
||||
dblistView->setSelectionMode(Q3ListView::NoSelection);
|
||||
dblistView->setRootIsDecorated(true);
|
||||
dblistView->setResizeMode(Q3ListView::LastColumn);
|
||||
|
||||
vboxLayout1->addWidget(dblistView);
|
||||
//*** Tree Widget Setup
|
||||
dbTreeWidget = new QTreeWidget();
|
||||
vboxLayout1->addWidget(dbTreeWidget);
|
||||
QTreeWidgetItem *headerItem = dbTreeWidget->headerItem();
|
||||
headerItem->setText(0, QApplication::translate("mainForm", "Name", 0, QApplication::UnicodeUTF8));
|
||||
headerItem->setText(1, QApplication::translate("mainForm", "Object", 0, QApplication::UnicodeUTF8));
|
||||
headerItem->setText(2, QApplication::translate("mainForm", "Type", 0, QApplication::UnicodeUTF8));
|
||||
headerItem->setText(3, QApplication::translate("mainForm", "Schema", 0, QApplication::UnicodeUTF8));
|
||||
dbTreeWidget->setAlternatingRowColors(true);
|
||||
dbTreeWidget->setRootIsDecorated(true);
|
||||
dbTreeWidget->setAnimated(true);
|
||||
|
||||
|
||||
mainTab->addTab(structure, QString());
|
||||
browser = new QWidget();
|
||||
@@ -740,12 +734,9 @@ public:
|
||||
#ifndef QT_NO_TOOLTIP
|
||||
mainTab->setProperty("toolTip", QVariant(QString()));
|
||||
#endif // QT_NO_TOOLTIP
|
||||
dblistView->header()->setLabel(0, QApplication::translate("mainForm", "Name", 0, QApplication::UnicodeUTF8));
|
||||
dblistView->header()->setLabel(1, QApplication::translate("mainForm", "Object", 0, QApplication::UnicodeUTF8));
|
||||
dblistView->header()->setLabel(2, QApplication::translate("mainForm", "Type", 0, QApplication::UnicodeUTF8));
|
||||
dblistView->header()->setLabel(3, QApplication::translate("mainForm", "Schema", 0, QApplication::UnicodeUTF8));
|
||||
|
||||
#ifndef QT_NO_WHATSTHIS
|
||||
dblistView->setProperty("whatsThis", QVariant(QApplication::translate("mainForm", "This area shows the structure of your database, including all tables and indexes.", 0, QApplication::UnicodeUTF8)));
|
||||
|
||||
#endif // QT_NO_WHATSTHIS
|
||||
mainTab->setTabText(mainTab->indexOf(structure), QApplication::translate("mainForm", "Database Structure", 0, QApplication::UnicodeUTF8));
|
||||
textLabel1->setText(QApplication::translate("mainForm", "Table:", 0, QApplication::UnicodeUTF8));
|
||||
|
||||
@@ -16,5 +16,7 @@
|
||||
<file alias="save">accept.png</file>
|
||||
<file alias="cancel">bullet_black.png</file>
|
||||
<file alias="field">page_green.png</file>
|
||||
<file alias="table">table.png</file>
|
||||
<file alias="index">tag_blue.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
BIN
sqlitebrowser/sqlitebrowser/icons/table.png
Executable file
BIN
sqlitebrowser/sqlitebrowser/icons/table.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 566 B |
BIN
sqlitebrowser/sqlitebrowser/icons/tag_blue.png
Executable file
BIN
sqlitebrowser/sqlitebrowser/icons/tag_blue.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 586 B |
Reference in New Issue
Block a user