MCPcopy Create free account
hub / github.com/baumgarr/nixnote2 / openNote

Method openNote

gui/ntabwidget.cpp:208–276  ·  view source on GitHub ↗

Open upCurrentTab a note. If it is already open in a tab we raise that tab.

Source from the content-addressed store, hash-verified

206
207// Open upCurrentTab a note. If it is already open in a tab we raise that tab.
208void NTabWidget::openNote(qint32 lid, OpenNoteMode mode) {
209
210 // If the lid < 0, then we just clear it & get out
211 if (lid < 0 && mode != ExternalWindow) {
212 currentBrowser()->setContent(-1);
213 return;
214 }
215
216 // If we've gotten this far, we have a good note
217 Note n;
218 NoteTable noteTable(global.db);
219 noteTable.get(n, lid, false, false);
220
221 NBrowserWindow *view;
222 bool found = false;
223
224 // Find out if we already have it open somewhere else
225 for (int i=0;i<browserList->size() && !found &&
226 mode != ExternalWindow; i++) {
227 if (browserList->at(i)->lid == lid) {
228 found = true;
229 tabBar->setCurrentIndex(i);
230 tabBar->raise();
231 stack.setCurrentIndex(i);
232 stack.raise();
233 return;
234 }
235 }
236 for (int i=0;i<externalList->size() && !found &&
237 mode == ExternalWindow; i++) {
238 if (externalList->at(i)->browser->lid == lid) {
239 ExternalBrowse *external = externalList->at(i);
240 external->setVisible(true);
241 external->raise();
242 external->setFocus();
243 this->lastExternal = external;
244 return;
245 }
246 }
247
248 // if we want a new window AND it isn't already open, create a new tab
249 if (mode == NewTab && !found) {
250 view = new NBrowserWindow();
251 if (n.title.isSet())
252 addBrowser(view, n.title);
253 else
254 addBrowser(view, tr("Untitled Note"));
255 setupConnections(view);
256 } else {
257 if (mode == CurrentTab) {
258 view = currentBrowser();
259 if (n.title.isSet())
260 tabBar->setTabText(tabBar->currentIndex(), n.title);
261 else
262 tabBar->setTabText(tabBar->currentIndex(), tr("Untitled Note"));
263 } else {
264 ExternalBrowse *external = new ExternalBrowse(lid);
265 externalList->append(external);

Callers 1

copyNoteMethod · 0.45

Calls 4

showMethod · 0.80
setContentMethod · 0.45
getMethod · 0.45
isSetMethod · 0.45

Tested by

no test coverage detected