Okay i think i have changed everything as you specified but if you find anything do let me know though.<br><br><div class="gmail_quote">On Tue, Mar 22, 2011 at 8:11 PM, Sebastian Trüg <span dir="ltr">&lt;<a href="mailto:trueg@kde.org">trueg@kde.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Very good. But since I am a pita some more comments. :)<br>
<br>
On 03/22/2011 11:20 AM, Who Knows wrote:<br>
&gt; diff --git a/mainwindow.cpp b/mainwindow.cpp<br>
&gt; index d9cd450..29579ab 100644<br>
&gt; --- a/mainwindow.cpp<br>
&gt; +++ b/mainwindow.cpp<br>
&gt; @@ -210,7 +210,20 @@ void MainWindow::setupActions()<br>
&gt;      // misc actions<br>
&gt;      // =============================================<br>
&gt;      KStandardAction::preferences( this, SLOT( slotSettings() ), actionCollection() );<br>
&gt; -    KStandardAction::open( this, SLOT( slotOpen() ), actionCollection() );<br>
&gt; +<br>
&gt; +    m_actionOpenResource=KStandardAction::open( this, SLOT( slotOpen() ), actionCollection() );<br>
<br>
spaces around the &quot;=&quot;<br>
<br>
&gt; +    m_actionOpenResource-&gt;setText(i18nc( &quot;@action:button open a resource&quot;, &quot;Open Resource&quot; ));<br>
&gt; +    actionCollection()-&gt;addAction( QLatin1String( &quot;open_resource&quot; ), m_actionOpenResource );<br>
&gt; +<br>
&gt; +    KStandardAction::quit( kapp, SLOT( quit() ), actionCollection() );<br>
<br>
This line is now duplicated.<br>
<br>
&gt; +    m_actionSaveQuery = KStandardAction::save( this, SLOT( slotSave() ), actionCollection() );<br>
&gt; +    m_actionSaveQuery-&gt;setText(i18nc( &quot;@action:button save a query&quot;, &quot;Save Query&quot; ));<br>
&gt; +    actionCollection()-&gt;addAction( QLatin1String( &quot;save_query&quot; ), m_actionSaveQuery );<br>
&gt; +<br>
&gt; +    m_actionOpenQuery= new KAction( KIcon( QLatin1String( &quot;open-new&quot; ) ), i18nc( &quot;@action:button open a new query&quot;, &quot;Open Query&quot; ), actionCollection() );<br>
<br>
This does not open a &quot;new query&quot;. It simply opens a query from a file.<br>
<br>
&gt; +    connect( m_actionOpenQuery, SIGNAL(triggered()), this, SLOT(slotLoad()) );<br>
&gt; +    actionCollection()-&gt;addAction( QLatin1String( &quot;open_query&quot; ), m_actionOpenQuery );<br>
&gt; +<br>
&gt;      KStandardAction::quit( kapp, SLOT( quit() ), actionCollection() );<br>
&gt;<br>
&gt;      setupGUI( Keys|Save|Create );<br>
&gt; @@ -320,6 +333,19 @@ void MainWindow::slotOpen()<br>
&gt;      }<br>
&gt;  }<br>
&gt;<br>
&gt; +void MainWindow::slotSave()<br>
<br>
Please call it slotSaveQuery()<br>
<br>
&gt; +{<br>
&gt; +    m_mainStack-&gt;setCurrentWidget( m_resourceQueryWidget );<br>
&gt; +    m_resourceQueryWidget-&gt;slotQuerySaveButtonClicked();<br>
&gt; +}<br>
&gt; +<br>
&gt; +<br>
&gt; +<br>
&gt; +void MainWindow::slotLoad()<br>
<br>
please call it slotOpenQuery()<br>
<br>
&gt; +{<br>
&gt; +    m_resourceQueryWidget-&gt;slotQueryLoadButtonClicked();<br>
&gt; +    m_mainStack-&gt;setCurrentWidget( m_resourceQueryWidget );<br>
&gt; +}<br>
&gt;<br>
&gt;  void MainWindow::slotShowSource()<br>
&gt;  {<br>
&gt; @@ -365,3 +391,4 @@ MainWindow* MainWindow::nepomukShellMain()<br>
&gt;  }<br>
&gt;<br>
&gt;  #include &quot;mainwindow.moc&quot;<br>
&gt; +<br>
&gt; diff --git a/mainwindow.h b/mainwindow.h<br>
&gt; index ebf4dd5..a7d5f22 100644<br>
&gt; --- a/mainwindow.h<br>
&gt; +++ b/mainwindow.h<br>
&gt; @@ -58,6 +58,8 @@ private Q_SLOTS:<br>
&gt;      void slotSettings();<br>
&gt;      void slotOpen();<br>
&gt;      void slotShowSource();<br>
&gt; +    void slotSave();<br>
&gt; +    void slotLoad();<br>
&gt;<br>
&gt;  private:<br>
&gt;      bool queryClose();<br>
&gt; @@ -73,7 +75,11 @@ private:<br>
&gt;      KAction* m_actionNewSubClass;<br>
&gt;      KAction* m_actionNewProperty;<br>
&gt;      KAction* m_actionNewResource;<br>
&gt; -<br>
&gt; +    KAction* m_actionOpenResource;<br>
&gt; +    KAction* m_actionSaveQuery;<br>
&gt; +    KAction* m_actionOpenQuery;<br>
&gt; +<br>
&gt; +<br>
&gt;      KAction* m_actionModeBrowse;<br>
&gt;      KAction* m_actionModeQuery;<br>
&gt;      KAction* m_actionModeEdit;<br>
&gt; @@ -86,3 +92,4 @@ private:<br>
&gt;  };<br>
&gt;<br>
&gt;  #endif<br>
&gt; +<br>
&gt; diff --git a/nepomukshellui.rc b/nepomukshellui.rc<br>
&gt; index e4d59c2..9fdffda 100644<br>
&gt; --- a/nepomukshellui.rc<br>
&gt; +++ b/nepomukshellui.rc<br>
&gt; @@ -8,6 +8,11 @@<br>
<br>
you need to raise the version number. Otherwise KDE will not pick up the<br>
new version of the UI file and use an older local copy in the user&#39;s<br>
home dir.<br>
<br>
&gt;    &lt;MenuBar&gt;<br>
&gt;      &lt;Menu name=&quot;file&quot; &gt;<br>
&gt; +      &lt;Action name=&quot;open_resource&quot; /&gt;<br>
&gt; +      &lt;Separator /&gt;<br>
&gt; +      &lt;Action name=&quot;open_query&quot; /&gt;<br>
&gt; +      &lt;Action name=&quot;save_query&quot; /&gt;<br>
&gt; +      &lt;Separator /&gt;<br>
&gt;        &lt;Action name=&quot;create_class&quot; /&gt;<br>
&gt;        &lt;Action name=&quot;create_property&quot; /&gt;<br>
&gt;        &lt;Action name=&quot;create_resource&quot; /&gt;<br>
&gt; diff --git a/resourcequerywidget.cpp b/resourcequerywidget.cpp<br>
&gt; index 757674f..3a28c45 100644<br>
&gt; --- a/resourcequerywidget.cpp<br>
&gt; +++ b/resourcequerywidget.cpp<br>
&gt; @@ -30,6 +30,7 @@<br>
&gt;  #include &lt;KGlobal&gt;<br>
&gt;  #include &lt;KLocale&gt;<br>
&gt;  #include &lt;KMessageBox&gt;<br>
&gt; +#include &lt;KFileDialog&gt;<br>
&gt;<br>
&gt;  #include &lt;Soprano/Node&gt;<br>
&gt;<br>
&gt; @@ -208,5 +209,33 @@ void ResourceQueryWidget::slotQueryShortenButtonClicked()<br>
&gt;      query= query.simplified();<br>
&gt;      m_queryEdit-&gt;setPlainText( query );<br>
&gt;  }<br>
&gt; +void ResourceQueryWidget::slotQueryLoadButtonClicked()<br>
&gt; +{   KUrl kurl = KUrl::fromPath(&quot;/home/&quot;);<br>
<br>
Using /home as the start URL seems very random to me. I prefer using<br>
KUrl() which will make KFileDialog remember the last used folder.<br>
<br>
&gt; +    QString fileName =  KFileDialog::getOpenFileName(kurl, tr(&quot;*.txt&quot;), this, tr(&quot;Open file&quot;));<br>
&gt; +    QFile file(fileName);<br>
&gt; +    QString line;<br>
&gt; +    if ( file.open(QIODevice::ReadOnly) ){<br>
&gt; +        QTextStream stream( &amp;file );<br>
&gt; +        line=stream.readAll();<br>
&gt; +        file.close();<br>
&gt; +    }<br>
&gt; +    m_queryEdit-&gt;setPlainText( line );<br>
&gt; +}<br>
&gt; +<br>
&gt; +void ResourceQueryWidget::slotQuerySaveButtonClicked()<br>
&gt; +{   KUrl kurl = KUrl::fromPath(&quot;/home/&quot;);<br>
<br>
same as above.<br>
<br>
&gt; +    QString query = m_queryEdit-&gt;toPlainText();<br>
&gt; +    QString fileName = KFileDialog::getSaveFileName(kurl, tr(&quot;*.txt&quot;),this,tr(&quot;Save File&quot;));<br>
&gt; +    QFile file(fileName);<br>
&gt; +    if (file.open(QIODevice::WriteOnly)){<br>
&gt; +        QTextStream out(&amp;file);<br>
&gt; +        out &lt;&lt; query;<br>
&gt; +        file.close();<br>
&gt; +    }<br>
&gt; +}<br>
&gt;<br>
&gt;  #include &quot;resourcequerywidget.moc&quot;<br>
&gt; +<br>
&gt; +<br>
&gt; +<br>
&gt; +<br>
<br>
Four trailing new lines. ;)<br>
<br>
&gt; diff --git a/resourcequerywidget.h b/resourcequerywidget.h<br>
&gt; index 22224fc..9d0c1d2 100644<br>
&gt; --- a/resourcequerywidget.h<br>
&gt; +++ b/resourcequerywidget.h<br>
&gt; @@ -65,6 +65,10 @@ private Q_SLOTS:<br>
&gt;      void slotQueryFinished();<br>
&gt;      void slotQueryShortenButtonClicked();<br>
&gt;<br>
&gt; +public Q_SLOTS:<br>
&gt; +    void slotQuerySaveButtonClicked();<br>
&gt; +    void slotQueryLoadButtonClicked();<br>
&gt; +<br>
<br>
How about calling these openQuery() and saveQuery() instead since the<br>
query widget has no notion of buttons being clicked.<br>
<br>
As you can see all of my comments are mostly cosmetic. Nice work.<br>
<br>
Cheers,<br>
Sebastian<br>
<br>
&gt;  private:<br>
&gt;      void updateHistoryButtonStates();<br>
&gt;<br>
</blockquote></div><br>