Add function to get current database widget.

This commit is contained in:
Florian Geyer 2011-12-29 20:03:20 +01:00
parent 58d4a0208b
commit 42773f51a4
2 changed files with 19 additions and 15 deletions

View File

@ -123,11 +123,11 @@ void DatabaseManager::openDatabaseCleanup()
void DatabaseManager::emitEntrySelectionChanged() void DatabaseManager::emitEntrySelectionChanged()
{ {
Database* db = indexDatabase(m_tabWidget->currentIndex()); DatabaseWidget* dbWidget = currentDatabaseWidget();
bool isSingleEntrySelected = false; bool isSingleEntrySelected = false;
if (db) { if (dbWidget) {
isSingleEntrySelected = m_dbList[db].dbWidget->entryView()->isSingleEntrySelected(); isSingleEntrySelected = dbWidget->entryView()->isSingleEntrySelected();
} }
Q_EMIT entrySelectionChanged(isSingleEntrySelected); Q_EMIT entrySelectionChanged(isSingleEntrySelected);
@ -225,30 +225,22 @@ void DatabaseManager::saveDatabaseAs(int index)
void DatabaseManager::createEntry() void DatabaseManager::createEntry()
{ {
Database* db = indexDatabase(m_tabWidget->currentIndex()); currentDatabaseWidget()->createEntry();
DatabaseWidget* dbWidget = m_dbList[db].dbWidget;
dbWidget->createEntry();
} }
void DatabaseManager::editEntry() void DatabaseManager::editEntry()
{ {
Database* db = indexDatabase(m_tabWidget->currentIndex()); currentDatabaseWidget()->switchToEntryEdit();
DatabaseWidget* dbWidget = m_dbList[db].dbWidget;
dbWidget->switchToEntryEdit();
} }
void DatabaseManager::createGroup() void DatabaseManager::createGroup()
{ {
Database* db = indexDatabase(m_tabWidget->currentIndex()); currentDatabaseWidget()->createGroup();
DatabaseWidget* dbWidget = m_dbList[db].dbWidget;
dbWidget->createGroup();
} }
void DatabaseManager::editGroup() void DatabaseManager::editGroup()
{ {
Database* db = indexDatabase(m_tabWidget->currentIndex()); currentDatabaseWidget()->switchToGroupEdit();
DatabaseWidget* dbWidget = m_dbList[db].dbWidget;
dbWidget->switchToGroupEdit();
} }
void DatabaseManager::updateTabName(Database* db) void DatabaseManager::updateTabName(Database* db)
@ -317,3 +309,14 @@ void DatabaseManager::insertDatabase(Database* db, const DatabaseManagerStruct&
connect(db->metadata(), SIGNAL(nameTextChanged(Database*)), SLOT(updateTabName(Database*))); connect(db->metadata(), SIGNAL(nameTextChanged(Database*)), SLOT(updateTabName(Database*)));
connect(dbStruct.dbWidget->entryView(), SIGNAL(entrySelectionChanged()), SLOT(emitEntrySelectionChanged())); connect(dbStruct.dbWidget->entryView(), SIGNAL(entrySelectionChanged()), SLOT(emitEntrySelectionChanged()));
} }
DatabaseWidget* DatabaseManager::currentDatabaseWidget()
{
Database* db = indexDatabase(m_tabWidget->currentIndex());
if (db) {
return m_dbList[db].dbWidget;
}
else {
return 0;
}
}

View File

@ -50,6 +50,7 @@ public:
void saveDatabase(Database* db); void saveDatabase(Database* db);
void saveDatabaseAs(Database* db); void saveDatabaseAs(Database* db);
void closeDatabase(Database* db); void closeDatabase(Database* db);
DatabaseWidget* currentDatabaseWidget();
public Q_SLOTS: public Q_SLOTS:
void newDatabase(); void newDatabase();