~ubuntu-branches/ubuntu/precise/kbibtex/precise

« back to all changes in this revision

Viewing changes to src/entrywidgetexternal.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Patrick Davies
  • Date: 2007-10-28 10:06:45 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20071028100645-jw9oadntiao5oszf
Tags: 0.2-0ubuntu1
* New upstream release.
* Bumped up compat and debhelper versions to 5.
* Added Original-Maintainer as per Ubuntu spec.
* Moved Homepage as per Debian spec.
* Removed from patches:
  - 10-invalid_pure_specifier.dpatch - applied upstream.
  - 11-accented_characters.dpatch - applied upstream.
  - 12-empty_pubmed_search.dpatch - applied upstream.
  - 13-store_search_urls.dpatch - applied upstream.
* Updated 14-xslt_export and use simple-patchsys instead.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/***************************************************************************
2
 
*   Copyright (C) 2004-2006 by Thomas Fischer                             *
 
2
*   Copyright (C) 2004-2007 by Thomas Fischer                             *
3
3
*   fischer@unix-ag.uni-kl.de                                             *
4
4
*                                                                         *
5
5
*   This program is free software; you can redistribute it and/or modify  *
22
22
#include <qlabel.h>
23
23
#include <qtooltip.h>
24
24
 
 
25
#include <krun.h>
25
26
#include <kdialog.h>
26
27
#include <klocale.h>
27
28
#include <kfiledialog.h>
124
125
    void EntryWidgetExternal::openURL()
125
126
    {
126
127
        BibTeX::Value * value = m_fieldLineEditURL->value();
127
 
        if ( value->count() == 1 && !value->first() ->isStringKey() )
128
 
        {
129
 
            KURL url( value->plainString() );
130
 
            if ( url.isValid() )
131
 
                kapp->invokeBrowser( url.prettyURL() );
132
 
            else
133
 
                m_pushButtonOpenURL->setEnabled( FALSE );
134
 
        }
 
128
        KURL url = Settings::locateFile( value->text(), m_bibtexfile->fileName, this );
 
129
        if ( url.isValid() )
 
130
            new KRun( url, this );
 
131
        else
 
132
            m_pushButtonOpenURL->setEnabled( FALSE );
135
133
    }
136
134
 
137
135
    void EntryWidgetExternal::openDoi()
138
136
    {
139
137
        BibTeX::Value * value = m_fieldLineEditDoi->value();
140
 
        KURL url = Settings::doiURL( value->plainString() );
 
138
        KURL url = Settings::doiURL( value->text() );
141
139
        if ( url.isValid() )
142
 
            kapp->invokeBrowser( url.prettyURL() );
 
140
            new KRun( url, this );
143
141
        else
144
142
            m_pushButtonOpenDoi->setEnabled( FALSE );
145
143
    }
147
145
    void EntryWidgetExternal::openLocalFile()
148
146
    {
149
147
        BibTeX::Value * value = m_fieldLineEditLocalFile->value();
150
 
        if ( value->count() == 1 && !value->first() ->isStringKey() )
151
 
        {
152
 
            KURL url( value->plainString() );
153
 
            if ( url.isValid() )
154
 
                kapp->invokeBrowser( url.prettyURL() );
155
 
            else
156
 
                m_pushButtonOpenLocalFile->setEnabled( FALSE );
157
 
        }
158
 
 
 
148
        KURL url = Settings::locateFile( value->text(), m_bibtexfile->fileName, this );
 
149
        if ( url.isValid() )
 
150
            new KRun( url, this );
 
151
        else
 
152
            m_pushButtonOpenLocalFile->setEnabled( FALSE );
159
153
    }
160
154
 
161
155
    void EntryWidgetExternal::browseLocalFile()
164
158
 
165
159
        if ( !filename.isEmpty() )
166
160
        {
167
 
            BibTeX::Value * value = new BibTeX::Value ();;
168
 
            value->add( new BibTeX::ValueItem( filename, FALSE ) );
 
161
            BibTeX::Value * value = new BibTeX::Value();
 
162
            value->items.append( new BibTeX::PlainText( filename ) );
169
163
            m_fieldLineEditLocalFile->setValue( value );
170
164
        }
171
165
    }
173
167
    void EntryWidgetExternal::updateGUI()
174
168
    {
175
169
        BibTeX::Value * value = m_fieldLineEditURL->value();
176
 
        if ( value != NULL && value->count() == 1 && !value->first() ->isStringKey() )
177
 
        {
178
 
            KURL url( value->plainString() );
179
 
            m_pushButtonOpenURL->setEnabled( url.isValid() );
180
 
        }
181
 
        else
182
 
            m_pushButtonOpenURL->setEnabled( FALSE );
 
170
        m_pushButtonOpenURL->setEnabled( value != NULL && Settings::locateFile( value->text(), m_bibtexfile->fileName, this ).isValid() );
183
171
 
184
172
        value = m_fieldLineEditLocalFile->value();
185
 
        if ( value != NULL && value->count() == 1 && !value->first() ->isStringKey() )
186
 
        {
187
 
            KURL url( value->plainString() );
188
 
            m_pushButtonOpenLocalFile->setEnabled( url.isValid() );
189
 
        }
190
 
        else
191
 
            m_pushButtonOpenLocalFile->setEnabled( FALSE );
 
173
        m_pushButtonOpenLocalFile->setEnabled( value != NULL && Settings::locateFile( value->text(), m_bibtexfile->fileName, this ).isValid() );
192
174
 
193
175
        value = m_fieldLineEditDoi->value();
194
 
 
195
 
        if ( value != NULL && value->count() == 1 && !value->first() ->isStringKey() )
196
 
        {
197
 
            KURL url = Settings::doiURL( value->plainString() );
198
 
            m_pushButtonOpenDoi->setEnabled( url.isValid() );
199
 
        }
200
 
        else
201
 
            m_pushButtonOpenDoi->setEnabled( FALSE );
 
176
        m_pushButtonOpenDoi->setEnabled( value != NULL && Settings::doiURL( value->text() ).isValid() );
202
177
    }
203
178
 
204
179
    void EntryWidgetExternal::setupGUI()