## 
## Copyright(c) 2009 Syntext, Inc. All Rights Reserved.
## Contact: info@syntext.com, http://www.syntext.com
## 
## This file is part of Syntext Serna XML Editor.
## 
## COMMERCIAL USAGE
## Licensees holding valid Syntext Serna commercial licenses may use this file
## in accordance with the Syntext Serna Commercial License Agreement provided
## with the software, or, alternatively, in accorance with the terms contained
## in a written agreement between you and Syntext, Inc.
## 
## GNU GENERAL PUBLIC LICENSE USAGE
## Alternatively, this file may be used under the terms of the GNU General 
## Public License versions 2.0 or 3.0 as published by the Free Software 
## Foundation and appearing in the file LICENSE.GPL included in the packaging 
## of this file. In addition, as a special exception, Syntext, Inc. gives you
## certain additional rights, which are described in the Syntext, Inc. GPL 
## Exception for Syntext Serna Free Edition, included in the file 
## GPL_EXCEPTION.txt in this package.
## 
## You should have received a copy of appropriate licenses along with this 
## package. If not, see <http://www.syntext.com/legal/>. If you are unsure
## which license is appropriate for your use, please contact the sales 
## department at sales@syntext.com.
## 
## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
## 
from PyQt4.QtGui    import  QApplication

from dialogs.BuiltinPublishOptionsDialogs import *
from utils import *

try:
    from SernaApi import *
except:
    from XSernaApi.SernaConfig import *

import os, sys

def get_simple_options(publisher, widget, props=["script", "stylesheet"]):
    dlg = SimplePublishOptionsDialog(publisher, widget)

    if publisher._fillAdvancedOptions:
        publisher._fillAdvancedOptions(dlg)

    dlg.show()
    QApplication.setActiveWindow(dlg)
    dlg.setFocus(Qt.ActiveWindowFocusReason)
    if dlg.Accepted == dlg.exec_():
        for prop in props:
            publisher[prop] = dlg.getProperty(prop)

def get_xsltproc():
    sernaDataDir = unicode(SernaConfig.getProperty('vars/data_dir'))
    if not sernaDataDir:
        sernaDataDir = os.environ.get('SERNA_DATA_DIR', None)
        if not sernaDataDir:
            return 'xsltproc'

    bindir = "bin"
    if "darwin" == sys.platform:
        bindir = "MacOS"
        
    xsltproc = os.path.join(sernaDataDir, bindir, "xsltproc")
    
    return find_script(xsltproc)
