bool IndicesList::addDefault(docstring const & n)
{
	if (findShortcut(from_ascii("idx")) != 0)
		// we already have a default
		return false;
	return add(n, from_ascii("idx"));
}
bool IndicesList::add(docstring const & n, docstring const & s)
{
	bool added = false;
	size_t i = 0;
	while (true) {
		size_t const j = n.find_first_of(separator_, i);
		docstring name;
		if (j == docstring::npos)
			name = n.substr(i);
		else
			name = n.substr(i, j - i);
		// Is this name already in the list?
		bool const already =
			find_if(list.begin(), list.end(),
				     IndexNamesEqual(name)) != list.end();
		if (!already) {
			added = true;
			Index in;
			in.setIndex(name);
			docstring sc = s.empty() ?
				trim(lowercase(name.substr(0, 3))) : s;
			if (findShortcut(sc) != 0) {
				int i = 1;
				docstring scn = sc + convert<docstring>(i);
				while (findShortcut(scn) != 0) {
					++i;
					scn = sc + convert<docstring>(i);
				}
				in.setShortcut(scn);
			} else
				in.setShortcut(sc);
			list.push_back(in);
		}
		if (j == docstring::npos)
			break;
		i = j + 1;
	}
	return added;
}
示例#3
0
ExternalBrowse::ExternalBrowse(qint32 lid, QWidget *parent) :
    QMdiSubWindow(parent)
{
    setAttribute(Qt::WA_QuitOnClose, false);
    this->setWindowTitle(tr("NixNote"));
    setWindowIcon(global.getIconResource(":windowIcon"));

    browser = new NBrowserWindow(this);
    setWidget(browser);

    // Setup shortcuts
    focusTitleShortcut = new QShortcut(this);
    focusTitleShortcut->setContext(Qt::WidgetShortcut);
    this->setupShortcut(focusTitleShortcut, "Focus_Title");
    connect(focusTitleShortcut, SIGNAL(activated()), &browser->noteTitle, SLOT(setFocus()));

    focusNoteShortcut = new QShortcut(this);
    focusNoteShortcut->setContext(Qt::WidgetShortcut);
    this->setupShortcut(focusNoteShortcut, "Focus_Note");
    connect(focusNoteShortcut, SIGNAL(activated()), browser->editor, SLOT(setFocus()));

    fileSaveShortcut = new QShortcut(this);
    fileSaveShortcut->setContext(Qt::WidgetWithChildrenShortcut);
    this->setupShortcut(focusNoteShortcut, "File_Save_Content");
    connect(fileSaveShortcut, SIGNAL(activated()), browser, SLOT(saveNoteContent()));

    focusTagShortcut = new QShortcut(this);
    focusTagShortcut->setContext(Qt::WidgetWithChildrenShortcut);
    this->setupShortcut(focusTagShortcut, "Focus_Tag");
    connect(focusTagShortcut, SIGNAL(activated()), browser, SLOT(newTagFocusShortcut()));

    focusUrlShortcut = new QShortcut(this);
    focusUrlShortcut->setContext(Qt::WidgetWithChildrenShortcut);
    this->setupShortcut(focusUrlShortcut, "Focus_Url");
    connect(focusUrlShortcut, SIGNAL(activated()), browser, SLOT(urlFocusShortcut()));

    focusAuthorShortcut = new QShortcut(this);
    focusAuthorShortcut->setContext(Qt::WidgetWithChildrenShortcut);
    this->setupShortcut(focusAuthorShortcut, "Focus_Author");
    connect(focusAuthorShortcut, SIGNAL(activated()), browser, SLOT(authorFocusShortcut()));

    focusNotebookShortcut = new QShortcut(this);
    focusNotebookShortcut->setContext(Qt::WidgetWithChildrenShortcut);
    this->setupShortcut(focusNotebookShortcut, "Focus_Notebook");
    connect(focusNotebookShortcut, SIGNAL(activated()), browser, SLOT(notebookFocusShortcut()));

    focusFontShortcut = new QShortcut(this);
    focusFontShortcut->setContext(Qt::WidgetWithChildrenShortcut);
    this->setupShortcut(focusFontShortcut, "Focus_Font");
    connect(focusFontShortcut, SIGNAL(activated()), browser, SLOT(fontFocusShortcut()));

    focusFontSizeShortcut = new QShortcut(this);
    focusFontSizeShortcut->setContext(Qt::WidgetWithChildrenShortcut);
    this->setupShortcut(focusFontSizeShortcut, "Focus_Font_Size");
    connect(focusFontSizeShortcut, SIGNAL(activated()), browser, SLOT(fontSizeFocusShortcut()));

    findShortcut = new QShortcut(this);
    findShortcut->setContext(Qt::WidgetWithChildrenShortcut);
    this->setupShortcut(findShortcut, "Edit_Search_Find");
    connect(findShortcut, SIGNAL(activated()), browser, SLOT(findShortcut()));

    findReplaceShortcut = new QShortcut(this);
    findReplaceShortcut->setContext(Qt::WidgetWithChildrenShortcut);
    this->setupShortcut(findReplaceShortcut, "Edit_Search_Find_Replace");
    connect(findReplaceShortcut, SIGNAL(activated()), browser, SLOT(findReplaceShortcut()));

    findNextShortcut = new QShortcut(this);
    findNextShortcut->setContext(Qt::WidgetWithChildrenShortcut);
    this->setupShortcut(findNextShortcut, "Edit_Search_Find_Next");
    connect(findNextShortcut, SIGNAL(activated()), browser, SLOT(findNextShortcut()));

    findPrevShortcut = new QShortcut(this);
    findPrevShortcut->setContext(Qt::WidgetWithChildrenShortcut);
    this->setupShortcut(findPrevShortcut, "Edit_Search_Find_Prev");
    connect(findPrevShortcut, SIGNAL(activated()), browser, SLOT(findPrevShortcut()));

    // Load actual note
    browser->setContent(lid);


}