File: dvcsimportmetadatawidget.cpp

package info (click to toggle)
kdevelop 4%3A22.12.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 70,096 kB
  • sloc: cpp: 284,635; javascript: 3,558; python: 3,422; sh: 1,319; ansic: 685; xml: 331; php: 95; lisp: 66; makefile: 39; sed: 12
file content (92 lines) | stat: -rw-r--r-- 2,762 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/*
    SPDX-FileCopyrightText: 2007 Robert Gruber <rgruber@users.sourceforge.net>
    SPDX-FileCopyrightText: 2007 Andreas Pakulat <apaku@gmx.de>

    Adapted for Git
    SPDX-FileCopyrightText: 2008 Evgeniy Ivanov <powerfox@kde.ru>

    Pimpl-ed and exported
    SPDX-FileCopyrightText: 2014 Maciej Poleski

    SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/

#include "dvcsimportmetadatawidget.h"

#include <vcslocation.h>
#include "ui_dvcsimportmetadatawidget.h"

class DvcsImportMetadataWidgetPrivate
{
    friend class DvcsImportMetadataWidget;

    explicit DvcsImportMetadataWidgetPrivate(Ui::DvcsImportMetadataWidget* ui) : m_ui(ui) {}
    ~DvcsImportMetadataWidgetPrivate() { delete m_ui; }

    Ui::DvcsImportMetadataWidget* m_ui;
};

DvcsImportMetadataWidget::DvcsImportMetadataWidget(QWidget *parent)
    : KDevelop::VcsImportMetadataWidget(parent),
    d_ptr(new DvcsImportMetadataWidgetPrivate(new Ui::DvcsImportMetadataWidget))
{
    Q_D(DvcsImportMetadataWidget);
    d->m_ui->setupUi(this);

    d->m_ui->sourceLoc->setEnabled( false );
    d->m_ui->sourceLoc->setMode( KFile::Directory );
    connect( d->m_ui->sourceLoc, &KUrlRequester::textChanged, this, &DvcsImportMetadataWidget::changed );
    connect( d->m_ui->sourceLoc, &KUrlRequester::urlSelected, this, &DvcsImportMetadataWidget::changed );
    connect(d->m_ui->message, &QTextEdit::textChanged, this, &DvcsImportMetadataWidget::changed);
}

DvcsImportMetadataWidget::~DvcsImportMetadataWidget()
{
    delete d_ptr;
}

QUrl DvcsImportMetadataWidget::source() const
{
    Q_D(const DvcsImportMetadataWidget);
    return d->m_ui->sourceLoc->url();
}

KDevelop::VcsLocation DvcsImportMetadataWidget::destination() const
{
    // Used for compatibility with import
    Q_D(const DvcsImportMetadataWidget);
    KDevelop::VcsLocation dest;
    dest.setRepositoryServer(d->m_ui->sourceLoc->url().url());
    return dest;
}

QString DvcsImportMetadataWidget::message( ) const
{
    Q_D(const DvcsImportMetadataWidget);
    return d->m_ui->message->toPlainText();
}

void DvcsImportMetadataWidget::setSourceLocation( const KDevelop::VcsLocation& url )
{
    Q_D(const DvcsImportMetadataWidget);
    d->m_ui->sourceLoc->setUrl( url.localUrl() );
}

void DvcsImportMetadataWidget::setSourceLocationEditable( bool enable )
{
    Q_D(const DvcsImportMetadataWidget);
    d->m_ui->sourceLoc->setEnabled( enable );
}

void DvcsImportMetadataWidget::setMessage(const QString& message)
{
    Q_D(DvcsImportMetadataWidget);
    d->m_ui->message->setText(message);
}

bool DvcsImportMetadataWidget::hasValidData() const
{
    Q_D(const DvcsImportMetadataWidget);
    return !d->m_ui->message->toPlainText().isEmpty() && !d->m_ui->sourceLoc->text().isEmpty();
}