attachment_list: fix editor style

This commit is contained in:
Le Tan 2017-12-15 20:06:02 +08:00
parent a2849ed577
commit 1a62ca15e7
9 changed files with 88 additions and 28 deletions

45
src/lineeditdelegate.cpp Normal file
View File

@ -0,0 +1,45 @@
#include "lineeditdelegate.h"
#include <QLineEdit>
LineEditDelegate::LineEditDelegate(QObject *p_parent)
: QStyledItemDelegate(p_parent)
{
}
QWidget *LineEditDelegate::createEditor(QWidget *p_parent,
const QStyleOptionViewItem &p_option,
const QModelIndex &p_index) const
{
Q_UNUSED(p_option);
Q_UNUSED(p_index);
QLineEdit *edit = new QLineEdit(p_parent);
return edit;
}
void LineEditDelegate::setEditorData(QWidget *p_editor, const QModelIndex &p_index) const
{
QString text = p_index.model()->data(p_index, Qt::EditRole).toString();
QLineEdit *edit = static_cast<QLineEdit *>(p_editor);
edit->setText(text);
}
void LineEditDelegate::setModelData(QWidget *p_editor,
QAbstractItemModel *p_model,
const QModelIndex &p_index) const
{
QLineEdit *edit = static_cast<QLineEdit *>(p_editor);
p_model->setData(p_index, edit->text(), Qt::EditRole);
}
void LineEditDelegate::updateEditorGeometry(QWidget *p_editor,
const QStyleOptionViewItem &p_option,
const QModelIndex &p_index) const
{
Q_UNUSED(p_index);
p_editor->setGeometry(p_option.rect);
}

28
src/lineeditdelegate.h Normal file
View File

@ -0,0 +1,28 @@
#ifndef LINEEDITDELEGATE_H
#define LINEEDITDELEGATE_H
#include <QStyledItemDelegate>
class LineEditDelegate : public QStyledItemDelegate
{
Q_OBJECT
public:
LineEditDelegate(QObject *p_parent = nullptr);
QWidget *createEditor(QWidget *p_parent,
const QStyleOptionViewItem &p_option,
const QModelIndex &p_index) const Q_DECL_OVERRIDE;
void setEditorData(QWidget *p_editor, const QModelIndex &p_index) const Q_DECL_OVERRIDE;
void setModelData(QWidget *p_editor,
QAbstractItemModel *p_model,
const QModelIndex &p_index) const Q_DECL_OVERRIDE;
void updateEditorGeometry(QWidget *p_editor,
const QStyleOptionViewItem &p_option,
const QModelIndex &p_index) const Q_DECL_OVERRIDE;
};
#endif // LINEEDITDELEGATE_H

View File

@ -214,7 +214,7 @@ combobox_focus_bg=@edit_focus_bg
combobox_focus_border=@edit_focus_border combobox_focus_border=@edit_focus_border
combobox_item_icon_fg=@item_icon_fg combobox_item_icon_fg=@item_icon_fg
combobox_notebookselector_fg=@master_bg combobox_notebookselector_fg=@master_pressed_bg
combobox_notebookselector_bg=@combobox_bg combobox_notebookselector_bg=@combobox_bg
combobox_notebookselector_border=@master_bg combobox_notebookselector_border=@master_bg
combobox_notebookselector_hover_fg=@master_bg combobox_notebookselector_hover_fg=@master_bg

View File

@ -671,11 +671,6 @@ QLineEdit[VimCommandLine="true"] {
color: @lineedit_fg; color: @lineedit_fg;
background: @lineedit_bg; background: @lineedit_bg;
} }
QAbstractItemView QLineEdit {
padding: 0px;
margin: 0px;
}
/* End QLineEdit */ /* End QLineEdit */
/* QPlainTextEdit QTextEdit */ /* QPlainTextEdit QTextEdit */

View File

@ -258,7 +258,6 @@ listview_item_selected_inactive_bg=@inactive_bg
; Splitter. ; Splitter.
splitter_handle_bg=@title_bg splitter_handle_bg=@title_bg
splitter_mainsplitter_border=@title_bg
; StatusBar. ; StatusBar.
statusbar_fg=@main_fg statusbar_fg=@main_fg

View File

@ -583,11 +583,6 @@ QLineEdit[VimCommandLine="true"] {
color: @lineedit_fg; color: @lineedit_fg;
background: @lineedit_bg; background: @lineedit_bg;
} }
QAbstractItemView QLineEdit {
padding: 0px;
margin: 0px;
}
/* End QLineEdit */ /* End QLineEdit */
/* QTabWidget */ /* QTabWidget */
@ -605,27 +600,23 @@ QTabWidget::pane {
QTabBar::tab { QTabBar::tab {
color: @tabbar_fg; color: @tabbar_fg;
background: @tabbar_bg; background: @tabbar_bg;
border: 1px solid @tabbar_border; border: none;
border-bottom: none; border-right: 1px solid @tabbar_border;
padding: 2px; padding: 2px;
} }
QTabBar::tab:selected { QTabBar::tab:selected {
color: @tabbar_selected_fg; color: @tabbar_selected_fg;
background: @tabbar_selected_bg; background: @tabbar_selected_bg;
border: 1px solid @tabbar_selected_border; border: none;
border-bottom: none; border-right: 1px solid @tabbar_border;
} }
QTabBar::tab:hover { QTabBar::tab:hover {
color: @tabbar_hover_fg; color: @tabbar_hover_fg;
background: @tabbar_hover_bg; background: @tabbar_hover_bg;
border: 1px solid @tabbar_hover_border; border: none;
border-bottom: none; border-right: 1px solid @tabbar_border;
}
QTabBar::tab:!selected {
margin-top: 2px; /* make non-selected tabs look smaller */
} }
QTabBar::close-button { QTabBar::close-button {
@ -793,10 +784,6 @@ QSplitter::handle:vertical {
QSplitter::handle:horizontal { QSplitter::handle:horizontal {
width: 2px; width: 2px;
} }
QSplitter#MainSplitter {
border-top: 2px solid @splitter_mainsplitter_border;
}
/* End QSplitter */ /* End QSplitter */
/* QStatusBar */ /* QStatusBar */

View File

@ -101,7 +101,8 @@ SOURCES += main.cpp\
utils/vclipboardutils.cpp \ utils/vclipboardutils.cpp \
vpalette.cpp \ vpalette.cpp \
vbuttonmenuitem.cpp \ vbuttonmenuitem.cpp \
utils/viconutils.cpp utils/viconutils.cpp \
lineeditdelegate.cpp
HEADERS += vmainwindow.h \ HEADERS += vmainwindow.h \
vdirectorytree.h \ vdirectorytree.h \
@ -189,7 +190,8 @@ HEADERS += vmainwindow.h \
utils/vclipboardutils.h \ utils/vclipboardutils.h \
vpalette.h \ vpalette.h \
vbuttonmenuitem.h \ vbuttonmenuitem.h \
utils/viconutils.h utils/viconutils.h \
lineeditdelegate.h
RESOURCES += \ RESOURCES += \
vnote.qrc \ vnote.qrc \

View File

@ -102,6 +102,7 @@ void VAttachmentList::setupUI()
m_attachmentList->setSelectionMode(QAbstractItemView::ExtendedSelection); m_attachmentList->setSelectionMode(QAbstractItemView::ExtendedSelection);
m_attachmentList->setEditTriggers(QAbstractItemView::SelectedClicked); m_attachmentList->setEditTriggers(QAbstractItemView::SelectedClicked);
m_attachmentList->setAttribute(Qt::WA_MacShowFocusRect, false); m_attachmentList->setAttribute(Qt::WA_MacShowFocusRect, false);
m_attachmentList->setItemDelegate(&m_listDelegate);
connect(m_attachmentList, &QListWidget::customContextMenuRequested, connect(m_attachmentList, &QListWidget::customContextMenuRequested,
this, &VAttachmentList::handleContextMenuRequested); this, &VAttachmentList::handleContextMenuRequested);
connect(m_attachmentList, &QListWidget::itemActivated, connect(m_attachmentList, &QListWidget::itemActivated,

View File

@ -6,6 +6,7 @@
#include <QStringList> #include <QStringList>
#include "vnotefile.h" #include "vnotefile.h"
#include "vbuttonwithwidget.h" #include "vbuttonwithwidget.h"
#include "lineeditdelegate.h"
class QPushButton; class QPushButton;
class QListWidget; class QListWidget;
@ -14,6 +15,7 @@ class QLabel;
class VNoteFile; class VNoteFile;
class QAction; class QAction;
class VAttachmentList : public QWidget, public VButtonPopupWidget class VAttachmentList : public QWidget, public VButtonPopupWidget
{ {
Q_OBJECT Q_OBJECT
@ -70,6 +72,7 @@ private:
QPushButton *m_locateBtn; QPushButton *m_locateBtn;
QLabel *m_numLabel; QLabel *m_numLabel;
LineEditDelegate m_listDelegate;
QListWidget *m_attachmentList; QListWidget *m_attachmentList;
QAction *m_openAct; QAction *m_openAct;