Merge pull request #852 from ctrlaltca/escape_tab_label

fix #811
This commit is contained in:
ctrlaltca 2015-03-19 16:30:19 +01:00
commit 6065587d78
2 changed files with 8 additions and 2 deletions

View file

@ -126,7 +126,7 @@ void TabSupervisor::retranslateUi()
for (int i = 0; i < tabs.size(); ++i)
if (tabs[i]) {
setTabText(indexOf(tabs[i]), tabs[i]->getTabText());
setTabText(indexOf(tabs[i]), sanitizeTabName(tabs[i]->getTabText()));
tabs[i]->retranslateUi();
}
}
@ -153,11 +153,16 @@ AbstractClient *TabSupervisor::getClient() const
return localClients.isEmpty() ? client : localClients.first();
}
QString TabSupervisor::sanitizeTabName(QString dirty) const
{
return dirty.replace("&", "&&");
}
int TabSupervisor::myAddTab(Tab *tab)
{
connect(tab, SIGNAL(userEvent(bool)), this, SLOT(tabUserEvent(bool)));
connect(tab, SIGNAL(tabTextChanged(Tab *, QString)), this, SLOT(updateTabText(Tab *, QString)));
return addTab(tab, tab->getTabText());
return addTab(tab, sanitizeTabName(tab->getTabText()));
}
void TabSupervisor::start(const ServerInfo_User &_userInfo)

View file

@ -58,6 +58,7 @@ private:
QList<TabDeckEditor *> deckEditorTabs;
int myAddTab(Tab *tab);
void addCloseButtonToTab(Tab *tab, int tabIndex);
QString sanitizeTabName(QString dirty) const;
public:
TabSupervisor(AbstractClient *_client, QWidget *parent = 0);
~TabSupervisor();