[Uludag-commits] r15279 - trunk/staj-projeleri/scanner/src

uludag-commits at pardus.org.tr uludag-commits at pardus.org.tr
4 Eyl 2007 Sal 15:07:46 EEST


Author: baris.daylik
Date: Tue Sep  4 15:07:46 2007
New Revision: 15279

Modified:
   trunk/staj-projeleri/scanner/src/scanresult.py
   trunk/staj-projeleri/scanner/src/scanresult.ui
Log:


Modified: trunk/staj-projeleri/scanner/src/scanresult.py
=================================================================
--- trunk/staj-projeleri/scanner/src/scanresult.py	(original)
+++ trunk/staj-projeleri/scanner/src/scanresult.py	Tue Sep  4 15:07:46 2007
@@ -1,13 +1,4 @@
 # -*- coding: utf-8 -*-
-
-# Form implementation generated from reading ui file 'scanresult.ui'
-#
-# Created: Sal Ağu 28 14:38:12 2007
-#      by: The PyQt User Interface Compiler (pyuic) 3.17.3
-#
-# WARNING! All changes made in this file will be lost!
-
-
 from qt import *
 
 
@@ -19,28 +10,94 @@
             self.setName("ScanResult")
 
 
-        ScanResultLayout = QHBoxLayout(self,11,6,"ScanResultLayout")
-
-        self.scrollView1 = QScrollView(self,"scrollView1")
-        self.scrollView1.setSizePolicy(QSizePolicy(QSizePolicy.Expanding,QSizePolicy.Expanding,0,0,self.scrollView1.sizePolicy().hasHeightForWidth()))
+        ScanResultLayout = QVBoxLayout(self,11,6,"ScanResultLayout")
 
-        self.pixmapLabel1 = QLabel(self.scrollView1.viewport(),"pixmapLabel1")
-#        self.pixmapLabel1.setGeometry(QRect(0,0,100,100))
-        self.pixmapLabel1.setScaledContents(1)
-        self.scrollView1.addChild(self.pixmapLabel1)
-        ScanResultLayout.addWidget(self.scrollView1)
-
-        self.pixmapLabel1.setPixmap(QPixmap(image))
+        self.scrollView = QScrollView(self,"scrollView")
+        self.scrollView.setSizePolicy(QSizePolicy(QSizePolicy.Expanding,QSizePolicy.Expanding,0,0,self.scrollView.sizePolicy().hasHeightForWidth()))
+        self.scrollView.setMinimumSize(QSize(0,0))
+
+        self.pixmapLabel = QLabel(self.scrollView.viewport(),"pixmapLabel")
+        self.pixmapLabel.setScaledContents(1)
+        self.scrollView.addChild(self.pixmapLabel)
+        ScanResultLayout.addWidget(self.scrollView)
+
+        self.pixmapLabel.setPixmap(QPixmap(image))
+        
+        layout = QHBoxLayout(None,0,6,"layout")
+        leftSpacer = QSpacerItem(40,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
+        layout.addItem(leftSpacer)
+
+        self.saveButton = QPushButton(self,"saveButton")
+        layout.addWidget(self.saveButton)
+
+        self.cancelButton = QPushButton(self,"cancelButton")
+        layout.addWidget(self.cancelButton)
+        rightSpacer = QSpacerItem(40,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
+        layout.addItem(rightSpacer)
+        ScanResultLayout.addLayout(layout)
 
         self.languageChange()
 
-        self.resize(QSize(600,480).expandedTo(self.minimumSizeHint()))
+        self.resize(QSize(640,480).expandedTo(self.minimumSizeHint()))
         self.clearWState(Qt.WState_Polished)
 
+        self.connect(self.cancelButton,SIGNAL("released()"),self.reject)
+        self.connect(self.saveButton,SIGNAL("released()"),self.save)
+
 
     def languageChange(self):
         self.setCaption(self.__tr("Scan Result"))
+        self.saveButton.setText(self.__tr("Save..."))
+        self.cancelButton.setText(self.__tr("Cancel"))
 
 
     def __tr(self,s,c = None):
         return qApp.translate("ScanResult",s,c)
+
+
+    def save(self):
+        outputFormats = QImageIO.outputFormats()
+        filter = ""
+        for format in outputFormats:
+            if format == "JPEG":
+                filter += ";;" + format + "( *." + format.lower() + " *.jpg)"
+            else:
+                filter += ";;" + format + "( *." + format.lower() + ")"
+            
+        filter = filter.lstrip(';')
+        
+        fileDialog =  QFileDialog("~",filter,self,"fileDialog")
+        fileDialog.setMode(QFileDialog.AnyFile)
+        if fileDialog.exec_loop() == QDialog.Accepted :
+            fileName = unicode(fileDialog.selectedFile())
+            selectedFilter = str(fileDialog.selectedFilter())
+            
+            tmp = fileName.rsplit('.',1)
+            
+            format = None
+            
+            if len(tmp) == 2:
+                fileName, extension = tmp[0],tmp[1]
+
+                if extension.lower() == "jpg":
+                    extension = "JPEG"
+                    
+                if extension.upper() in outputFormats:
+                    format = extension.upper()
+                else:
+                    fileName += "." + extension
+            
+            if format == None:
+                format = selectedFilter.split('(',1)[0].upper()
+
+            if format == "JPEG":
+                fileName += ".jpg"
+            else:
+                fileName += "."+format.lower()
+            
+            if self.pixmapLabel.pixmap().save(fileName,format):
+                QMessageBox.information(self,"Save Result","File successfully saved.",QMessageBox.Ok)
+            else:
+                if QMessageBox.information(self,"Save Result","Save unsuccessful!",QMessageBox.Retry,QMessageBox.Cancel) == QMessageBox.Retry:
+                    self.save();
+                
\ No newline at end of file

Modified: trunk/staj-projeleri/scanner/src/scanresult.ui
=================================================================
--- trunk/staj-projeleri/scanner/src/scanresult.ui	(original)
+++ trunk/staj-projeleri/scanner/src/scanresult.ui	Tue Sep  4 15:07:46 2007
@@ -8,20 +8,20 @@
         <rect>
             <x>0</x>
             <y>0</y>
-            <width>600</width>
+            <width>640</width>
             <height>480</height>
         </rect>
     </property>
     <property name="caption">
         <string>Scan Result</string>
     </property>
-    <hbox>
+    <vbox>
         <property name="name">
             <cstring>unnamed</cstring>
         </property>
         <widget class="QScrollView">
             <property name="name">
-                <cstring>scrollView1</cstring>
+                <cstring>scrollView</cstring>
             </property>
             <property name="sizePolicy">
                 <sizepolicy>
@@ -31,9 +31,15 @@
                     <verstretch>0</verstretch>
                 </sizepolicy>
             </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>0</height>
+                </size>
+            </property>
             <widget class="QLabel">
                 <property name="name">
-                    <cstring>pixmapLabel1</cstring>
+                    <cstring>pixmapLabel</cstring>
                 </property>
                 <property name="geometry">
                     <rect>
@@ -48,7 +54,67 @@
                 </property>
             </widget>
         </widget>
-    </hbox>
+        <widget class="QLayoutWidget">
+            <property name="name">
+                <cstring>layout</cstring>
+            </property>
+            <hbox>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <spacer>
+                    <property name="name">
+                        <cstring>leftSpacer</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>40</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                </spacer>
+                <widget class="QPushButton">
+                    <property name="name">
+                        <cstring>saveButton</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Save...</string>
+                    </property>
+                </widget>
+                <widget class="QPushButton">
+                    <property name="name">
+                        <cstring>cancelButton</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Cancel</string>
+                    </property>
+                </widget>
+                <spacer>
+                    <property name="name">
+                        <cstring>rightSpacer</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>40</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                </spacer>
+            </hbox>
+        </widget>
+    </vbox>
 </widget>
 <customwidgets>
     <customwidget>
@@ -73,6 +139,14 @@
         <data format="PNG" length="1002">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b149444154388dad945f4c5b551cc73fe7dc4b7b4bcba0762d45c43114323599ee6192609c51d883892ce083f1718b3ebb185f8dc91e972cf39d2d2a2f1af664b6f1e0fe3863a0718969700eb0c52142da0242a1bd6d696f7bcff101585203ceb8fd9ece39f99dcff9fe7edf939f88c562ec465f5f9fe609442c161362173c3e3eae7b7a7ac8e7f36432196cdbfe4f907c3e4f2291201e8fe338cec3737357e9e8e828aded1e229d650e1f2d51754b082110124c13a4dc5ea341eb9dc284c0558a853f3ce8cb0677ef500fde7d39d2596679e326597b8e9abb85d7a770ab16ab6983ec5a05b487a70e36f0f4e10afe408d6a558310980108478dba4a1e8233990c5d474b64ed39aa3a8fe5f3317fbf81dbd70bccfeb205947632fd74f6589c1c6ea2f70d03a58ba0c1f2c9bdc1b66de3b8256a6e11cbe7e3ee1d181b590124fe2693aeee08d223c82c3a2c24b7b874bec8f26288774f7bd054504aef0dde6e99c0eb83f9fb266323cb80a27fb0958141836044605a2ee5523393371cc646fee2da37195aa35d0c0c5b4859ac03d7e91712dcaac5adab3650a3ff9d08ef7dd8404bb48869e5d958b5b87dadc4c9a1464e9f0d0326df7e
 bd86bd2e310cb1bf62d384d59441f2d70a070e1c60e09489929b988681bdd9cc97170bcc4c65595f71f8e0e3301337fc24a7732467831875a47f289652b0be5e4151e6d07316c1b0c0340d8ab92023e76d66a6b2840e36d2fb7a13fee632475e6edc367ea98a90fb98b7dd6310ca0328a44761582e1bab41befabcc0ec940d28bc5e93b68e064cab84e1d9beaeb48934eac1f53b01c1b000fca496aa54b61a99fcde61662a4b4b4b23d1680be9d426173e4df3602a48ea411989a4fd590f52a8fd156b05ed9d350e3defe3cfdf4b4c7ce770ea7d3fb9f520afbe1620daeee5c26735d20b9b9cfb6811a754a439e4e5c5639a4caa1e5caf586bfc0197b78702005cb9b4cae4cd3267ce8638fe964bd72b393e39d74928d242617303a756a37f284447770dcdbffc6384a05a85de1306e9a52057c7527c7131c3c42d3f475eb2303c82d4fc3276d6811db37efeb148723082d9b08f79f97c1e5729109a9a28307cc622d2d6cdf52b2b24efe548dedb00142009862cfa879ee1a71f6cec928353511472fbf4389148b0b0e0c108081412458dfe21c9f11351e67e7358595468246d1d1e5e38a6e9e851bc39d84ab502a669331dafec0d8ec7e3e8cb06e1a881d727d1ae40180a434a8c9db129a54126ad48a7358c2b4c5352c8c374bcccdab2bb37d8719cba79fab8211f9df218e0582
 c261e95f8bfc04f1a1e8bc5c4dfe0a190172af6a9690000000049454e44ae426082</data>
     </image>
 </images>
+<connections>
+    <connection>
+        <sender>cancelButton</sender>
+        <signal>released()</signal>
+        <receiver>ScanResult</receiver>
+        <slot>reject()</slot>
+    </connection>
+</connections>
 <layoutdefaults spacing="6" margin="11"/>
 <includehints>
     <includehint>qscrollview.h</includehint>


Uludag-commits mesaj listesiyle ilgili daha fazla bilgi