diff options
| author | Andrea Diamantini <adjam7@gmail.com> | 2009-10-25 15:39:57 +0100 | 
|---|---|---|
| committer | Andrea Diamantini <adjam7@gmail.com> | 2009-10-25 15:39:57 +0100 | 
| commit | 964277b19b2d1ea9809581c8346e4a30594b643f (patch) | |
| tree | a70b718d6cfb345eaf53b826b1d1ad7aacb98f7d /src | |
| parent | Ronny's close tab solution was better :) (diff) | |
| download | rekonq-964277b19b2d1ea9809581c8346e4a30594b643f.tar.xz | |
should fix bug 211782
BUG: 211782
Diffstat (limited to 'src')
| -rw-r--r-- | src/application.cpp | 54 | 
1 files changed, 32 insertions, 22 deletions
| diff --git a/src/application.cpp b/src/application.cpp index 9c4507f0..84aab713 100644 --- a/src/application.cpp +++ b/src/application.cpp @@ -92,6 +92,36 @@ int Application::newInstance()      // so initialize only once      static bool first = true; +    if(args->count() == 0) +    { +        MainWindow *w = 0; +        if(first)   // we are starting rekonq, for the first time with no args: use startup behaviour +        { +            switch(ReKonfig::startupBehaviour()) +            { +                case 0: // open home page +                    w = newMainWindow(); +                    w->slotHome(); +                    break; +                case 1: // open new tab page +                    w = newMainWindow(); +                    w->homePage(); +                    break; +                case 2: // restore session +                    if(sessionManager()->restoreSession()) +                        break; +                default: +                    w = newMainWindow(); +                    w->slotHome(); +                    break; +            }     +        } +        else    // rekonq has just been started. Just open a new window +        { +            w = newMainWindow(); +        } +    } +          if (first)      {          QTimer::singleShot(0, this, SLOT(postLaunch())); @@ -106,9 +136,8 @@ int Application::newInstance()          kDebug() << "session restored";          return 1;      } - -// -------------------------------------------------------------------------- - +     +    // are there args? load them..      if (args->count() > 0)      {          // is there a window open on the current desktop ? use it! @@ -137,25 +166,6 @@ int Application::newInstance()          return 3;      } -    MainWindow *w = 0; -    switch(ReKonfig::startupBehaviour()) -    { -        case 0: // open home page -            w = newMainWindow(); -            w->slotHome(); -            break; -        case 1: // open new tab page -            w = newMainWindow(); -            w->homePage(); -            break; -        case 2: // restore session -            if(sessionManager()->restoreSession()) -                break; -        default: -            w = newMainWindow(); -            w->slotHome(); -            break; -    }      return 0;  } | 
