mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
Reuse code from the file transfer widget to provide an image preview on paste/grab. This prevents users from accidentally sending images they did not mean to when their clipboard is not in the state they thought it was. Implementation exposes the genericchatlog vbox to the child classes and chatform injects the imagepreview into it.
462 lines
14 KiB
XML
462 lines
14 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>FileTransferWidget</class>
|
|
<widget class="QWidget" name="FileTransferWidget">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>615</width>
|
|
<height>243</height>
|
|
</rect>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>Form</string>
|
|
</property>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
<property name="spacing">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QFrame" name="frame_3">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="styleSheet">
|
|
<string notr="true"/>
|
|
</property>
|
|
<property name="frameShape">
|
|
<enum>QFrame::NoFrame</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Plain</enum>
|
|
</property>
|
|
<property name="lineWidth">
|
|
<number>0</number>
|
|
</property>
|
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
<property name="spacing">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<layout class="QGridLayout" name="gridLayout_3" rowstretch="1,0,1">
|
|
<property name="leftMargin">
|
|
<number>4</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>2</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="horizontalSpacing">
|
|
<number>6</number>
|
|
</property>
|
|
<property name="verticalSpacing">
|
|
<number>0</number>
|
|
</property>
|
|
<item row="0" column="1">
|
|
<spacer name="verticalSpacer_2">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<layout class="QGridLayout" name="gridLayout_2">
|
|
<property name="sizeConstraint">
|
|
<enum>QLayout::SetDefaultConstraint</enum>
|
|
</property>
|
|
<property name="leftMargin">
|
|
<number>4</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>2</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>4</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>2</number>
|
|
</property>
|
|
<property name="horizontalSpacing">
|
|
<number>6</number>
|
|
</property>
|
|
<property name="verticalSpacing">
|
|
<number>0</number>
|
|
</property>
|
|
<item row="0" column="1">
|
|
<spacer name="verticalSpacer_5">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>1</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<spacer name="verticalSpacer_7">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Preferred</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>1</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="CroppingLabel" name="filenameLabel">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="text">
|
|
<string>Filename</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<spacer name="verticalSpacer_6">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>1</width>
|
|
<height>21</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QProgressBar" name="progressBar">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>16777215</width>
|
|
<height>12</height>
|
|
</size>
|
|
</property>
|
|
<property name="styleSheet">
|
|
<string notr="true"/>
|
|
</property>
|
|
<property name="value">
|
|
<number>24</number>
|
|
</property>
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="invertedAppearance">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="format">
|
|
<string/>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QWidget" name="statusWidget" native="true">
|
|
<layout class="QHBoxLayout" name="_2">
|
|
<property name="spacing">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QLabel" name="fileSizeLabel">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="text">
|
|
<string>10Mb</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="progressLabel">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="text">
|
|
<string>0kb/s</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="etaLabel">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="text">
|
|
<string>ETA:10:10</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="ImagePreviewButton" name="previewButton">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>60</width>
|
|
<height>60</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>60</width>
|
|
<height>60</height>
|
|
</size>
|
|
</property>
|
|
<property name="cursor">
|
|
<cursorShape>PointingHandCursor</cursorShape>
|
|
</property>
|
|
<property name="styleSheet">
|
|
<string notr="true">QPushButton{ border: 2px solid white }</string>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset>
|
|
<normaloff>:themes/default/fileTransferInstance/no.svg</normaloff>:themes/default/fileTransferInstance/no.svg</iconset>
|
|
</property>
|
|
<property name="iconSize">
|
|
<size>
|
|
<width>32</width>
|
|
<height>18</height>
|
|
</size>
|
|
</property>
|
|
<property name="flat">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<spacer name="verticalSpacer">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item alignment="Qt::AlignTop">
|
|
<widget class="QWidget" name="buttonWidget" native="true">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>65</width>
|
|
<height>32</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>65</width>
|
|
<height>32</height>
|
|
</size>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="spacing">
|
|
<number>0</number>
|
|
</property>
|
|
<item row="0" column="3" alignment="Qt::AlignRight">
|
|
<widget class="QPushButton" name="rightButton">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</size>
|
|
</property>
|
|
<property name="cursor">
|
|
<cursorShape>PointingHandCursor</cursorShape>
|
|
</property>
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset>
|
|
<normaloff>:themes/default/fileTransferInstance/no.svg</normaloff>:themes/default/fileTransferInstance/no.svg</iconset>
|
|
</property>
|
|
<property name="iconSize">
|
|
<size>
|
|
<width>14</width>
|
|
<height>14</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="2" alignment="Qt::AlignLeft">
|
|
<widget class="QPushButton" name="leftButton">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</size>
|
|
</property>
|
|
<property name="cursor">
|
|
<cursorShape>PointingHandCursor</cursorShape>
|
|
</property>
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset>
|
|
<normaloff>:themes/default/fileTransferInstance/no.svg</normaloff>:themes/default/fileTransferInstance/no.svg</iconset>
|
|
</property>
|
|
<property name="iconSize">
|
|
<size>
|
|
<width>14</width>
|
|
<height>14</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<customwidgets>
|
|
<customwidget>
|
|
<class>CroppingLabel</class>
|
|
<extends>QLabel</extends>
|
|
<header location="global">src/widget/tool/croppinglabel.h</header>
|
|
</customwidget>
|
|
<customwidget>
|
|
<class>ImagePreviewButton</class>
|
|
<extends>QPushButton</extends>
|
|
<header location="global">src/widget/imagepreviewwidget.h</header>
|
|
</customwidget>
|
|
</customwidgets>
|
|
<tabstops>
|
|
<tabstop>previewButton</tabstop>
|
|
</tabstops>
|
|
<resources>
|
|
<include location="../../../res.qrc"/>
|
|
</resources>
|
|
<connections/>
|
|
</ui>
|