Changeset View
Changeset View
Standalone View
Standalone View
kexi/widget/tableview/KexiDataTableScrollArea.cpp
Show First 20 Lines • Show All 64 Lines • ▼ Show 20 Line(s) | 64 | if (cursor != m_cursor) { | |||
---|---|---|---|---|---|
65 | clearColumns(); | 65 | clearColumns(); | ||
66 | } | 66 | } | ||
67 | m_cursor = cursor; | 67 | m_cursor = cursor; | ||
68 | 68 | | |||
69 | if (!m_cursor->query()) { | 69 | if (!m_cursor->query()) { | ||
70 | kWarning() << "Cursor should have query schema defined!\n--aborting setData().\n"; | 70 | kWarning() << "Cursor should have query schema defined!\n--aborting setData().\n"; | ||
71 | m_cursor->debug(); | 71 | m_cursor->debug(); | ||
72 | clearColumns(); | 72 | clearColumns(); | ||
73 | m_cursor = 0; | ||||
73 | return false; | 74 | return false; | ||
74 | } | 75 | } | ||
75 | 76 | | |||
76 | if (m_cursor->fieldCount() < 1) { | 77 | if (m_cursor->fieldCount() < 1) { | ||
77 | clearColumns(); | 78 | clearColumns(); | ||
78 | return true; | 79 | return true; | ||
79 | } | 80 | } | ||
80 | 81 | | |||
81 | if (!m_cursor->isOpened() && !m_cursor->open()) { | 82 | if (!m_cursor->isOpened() && !m_cursor->open()) { | ||
82 | kWarning() << "Cannot open cursor\n--aborting setData(). \n" << m_cursor->serverErrorMsg(); | 83 | kWarning() << "Cannot open cursor\n--aborting setData(). \n" << m_cursor->serverErrorMsg(); | ||
83 | m_cursor->debug(); | 84 | m_cursor->debug(); | ||
84 | clearColumns(); | 85 | clearColumns(); | ||
86 | m_cursor = 0; | ||||
85 | return false; | 87 | return false; | ||
86 | } | 88 | } | ||
87 | 89 | | |||
88 | KexiDB::TableViewData *tv_data = new KexiDB::TableViewData(m_cursor); | 90 | KexiDB::TableViewData *tv_data = new KexiDB::TableViewData(m_cursor); | ||
89 | KexiDataTableView* dataTable = qobject_cast<KexiDataTableView*>(parentWidget()); | 91 | KexiDataTableView* dataTable = qobject_cast<KexiDataTableView*>(parentWidget()); | ||
90 | if (dataTable) { | 92 | if (dataTable) { | ||
91 | dataTable->loadTableViewSettings(tv_data); | 93 | dataTable->loadTableViewSettings(tv_data); | ||
92 | } | 94 | } | ||
93 | 95 | | |||
94 | QString windowTitle(m_cursor->query()->caption()); | 96 | QString windowTitle(m_cursor->query()->caption()); | ||
95 | if (windowTitle.isEmpty()) | 97 | if (windowTitle.isEmpty()) | ||
96 | windowTitle = m_cursor->query()->name(); | 98 | windowTitle = m_cursor->query()->name(); | ||
97 | 99 | | |||
98 | setWindowTitle(windowTitle); | 100 | setWindowTitle(windowTitle); | ||
99 | 101 | | |||
100 | //PRIMITIVE!! data setting: | 102 | //PRIMITIVE!! data setting: | ||
101 | tv_data->preloadAllRows(); | 103 | if (!tv_data->preloadAllRows()) { | ||
102 | 104 | delete tv_data; | |||
105 | clearColumns(); | ||||
106 | m_cursor = 0; | ||||
107 | } | ||||
103 | KexiTableScrollArea::setData(tv_data); | 108 | KexiTableScrollArea::setData(tv_data); | ||
104 | return true; | 109 | return true; | ||
105 | } | 110 | } | ||
106 | 111 | | |||
107 | #include "KexiDataTableScrollArea.moc" | 112 | #include "KexiDataTableScrollArea.moc" |