[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE_3_1_BRANCH: kdebase/konsole/konsole
From:       Stephan Binner <binner () kde ! org>
Date:       2003-07-14 20:28:14
[Download RAW message or body]

CVS commit by binner: 

Make ampersand escape work with any amount of ampersands.
If everything in life would be as simple as this. ;-)


  M +6 -6      konsole.cpp   1.346.2.16
  M +1 -1      konsolebookmarkmenu.cpp   1.1.2.2


--- kdebase/konsole/konsole/konsole.cpp  #1.346.2.15:1.346.2.16
@@ -1715,5 +1715,5 @@ void Konsole::addSession(TESession* s)
   //  char buffer[30];
   //  int acc = CTRL+SHIFT+Key_0+session_no; // Lars: keys stolen by kwin.
-  KRadioAction *ra = new KRadioAction(newTitle.replace("&","&&"),
+  KRadioAction *ra = new \
KRadioAction(newTitle.replace(QRegExp("^&|([^&])&"),"\\1&&"),  s->IconName(),
                                       0,
@@ -1770,5 +1770,5 @@ void Konsole::listSessions()
   for (TESession *ses = sessions.first(); ses; ses = sessions.next()) {
     QString title=ses->Title();
-    m_sessionList->insertItem(SmallIcon(ses->IconName()),title.replace("&","&&"),++counter);
 +    m_sessionList->insertItem(SmallIcon(ses->IconName()),title.replace(QRegExp("^&|([^&])&"),"\\1&&"),++counter);
  }
   connect(m_sessionList, SIGNAL(activated(int)), SLOT(activateSession(int)));
@@ -2640,5 +2640,5 @@ void Konsole::attachSession(TESession* s
   
   QString title=session->Title();
-  KRadioAction *ra = new KRadioAction(title.replace("&","&&"), session->IconName(),
+  KRadioAction *ra = new KRadioAction(title.replace(QRegExp("^&|([^&])&"),"\\1&&"), \
                session->IconName(),
                                       0, this, SLOT(activateSession()), this);
 
@@ -2683,5 +2683,5 @@ void Konsole::slotRenameSession() {
   if (dlg.exec()) {
     se->setTitle(dlg.text());
-    ra->setText(dlg.text().replace("&","&&"));
+    ra->setText(dlg.text().replace(QRegExp("^&|([^&])&"),"\\1&&"));
     ra->setIcon( se->IconName() ); // I don't know why it is needed here
     if(se->isMasterMode())
@@ -2700,5 +2700,5 @@ void Konsole::slotRenameSession(TESessio
   KRadioAction *ra = session2action.find(ses);
   QString title=name;
-  ra->setText(title.replace("&","&&"));
+  ra->setText(title.replace(QRegExp("^&|([^&])&"),"\\1&&"));
   ra->setIcon( ses->IconName() ); // I don't know why it is needed here
   if(ses->isMasterMode())
@@ -2713,5 +2713,5 @@ void Konsole::initSessionTitle(const QSt
   se->setTitle(_title);
   QString title=_title;
-  ra->setText(title.replace("&","&&"));
+  ra->setText(title.replace(QRegExp("^&|([^&])&"),"\\1&&"));
   ra->setIcon( se->IconName() ); // I don't know why it is needed here
   toolBar()->updateRects();

--- kdebase/konsole/konsole/konsolebookmarkmenu.cpp  #1.1.2.1:1.1.2.2
@@ -110,5 +110,5 @@ void KonsoleBookmarkMenu::fillBookmarkMe
   {
     QString text = bm.text();
-    text.replace( QRegExp( "&" ), "&&" );
+    text.replace( QRegExp("^&|([^&])&"),"\\1&&" );
     if ( !separatorInserted && m_bIsRoot) { // inserted before the first konq \
bookmark, to avoid the separator if no konq bookmark  \
m_parentMenu->insertSeparator();


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic