'[1219035] cleanup: miscellaneous' and minor source cleaning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -215,13 +215,13 @@ public:
|
||||
// shifts
|
||||
// left shift
|
||||
wxLongLongNative operator<<(int shift) const
|
||||
{ return wxLongLongNative(m_ll << shift);; }
|
||||
{ return wxLongLongNative(m_ll << shift); }
|
||||
wxLongLongNative& operator<<=(int shift)
|
||||
{ m_ll <<= shift; return *this; }
|
||||
|
||||
// right shift
|
||||
wxLongLongNative operator>>(int shift) const
|
||||
{ return wxLongLongNative(m_ll >> shift);; }
|
||||
{ return wxLongLongNative(m_ll >> shift); }
|
||||
wxLongLongNative& operator>>=(int shift)
|
||||
{ m_ll >>= shift; return *this; }
|
||||
|
||||
@@ -402,13 +402,13 @@ public:
|
||||
// shifts
|
||||
// left shift
|
||||
wxULongLongNative operator<<(int shift) const
|
||||
{ return wxULongLongNative(m_ll << shift);; }
|
||||
{ return wxULongLongNative(m_ll << shift); }
|
||||
wxULongLongNative& operator<<=(int shift)
|
||||
{ m_ll <<= shift; return *this; }
|
||||
|
||||
// right shift
|
||||
wxULongLongNative operator>>(int shift) const
|
||||
{ return wxULongLongNative(m_ll >> shift);; }
|
||||
{ return wxULongLongNative(m_ll >> shift); }
|
||||
wxULongLongNative& operator>>=(int shift)
|
||||
{ m_ll >>= shift; return *this; }
|
||||
|
||||
|
@@ -63,24 +63,24 @@ class WXDLLEXPORT wxPrintFactory
|
||||
public:
|
||||
wxPrintFactory() {}
|
||||
virtual ~wxPrintFactory() {}
|
||||
|
||||
|
||||
virtual wxPrinterBase *CreatePrinter( wxPrintDialogData* data ) = 0;
|
||||
|
||||
virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview,
|
||||
wxPrintout *printout = NULL,
|
||||
|
||||
virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview,
|
||||
wxPrintout *printout = NULL,
|
||||
wxPrintDialogData *data = NULL ) = 0;
|
||||
virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview,
|
||||
wxPrintout *printout,
|
||||
virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview,
|
||||
wxPrintout *printout,
|
||||
wxPrintData *data ) = 0;
|
||||
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
wxPrintDialogData *data = NULL ) = 0;
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
wxPrintData *data ) = 0;
|
||||
|
||||
|
||||
virtual wxPageSetupDialogBase *CreatePageSetupDialog( wxWindow *parent,
|
||||
wxPageSetupDialogData * data = NULL ) = 0;
|
||||
|
||||
|
||||
// What to do and what to show in the wxPrintDialog
|
||||
// a) Use the generic print setup dialog or a native one?
|
||||
virtual bool HasPrintSetupDialog() = 0;
|
||||
@@ -94,9 +94,9 @@ public:
|
||||
virtual bool HasStatusLine() = 0;
|
||||
virtual wxString CreateStatusLine() = 0;
|
||||
|
||||
|
||||
|
||||
virtual wxPrintNativeDataBase *CreatePrintNativeData() = 0;
|
||||
|
||||
|
||||
static void SetPrintFactory( wxPrintFactory *factory );
|
||||
static wxPrintFactory *GetFactory();
|
||||
static wxPrintFactory *m_factory;
|
||||
@@ -106,22 +106,22 @@ class WXDLLEXPORT wxNativePrintFactory: public wxPrintFactory
|
||||
{
|
||||
public:
|
||||
virtual wxPrinterBase *CreatePrinter( wxPrintDialogData *data );
|
||||
|
||||
virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview,
|
||||
wxPrintout *printout = NULL,
|
||||
|
||||
virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview,
|
||||
wxPrintout *printout = NULL,
|
||||
wxPrintDialogData *data = NULL );
|
||||
virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview,
|
||||
virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview,
|
||||
wxPrintout *printout,
|
||||
wxPrintData *data );
|
||||
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
wxPrintDialogData *data = NULL );
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
wxPrintData *data );
|
||||
|
||||
|
||||
virtual wxPageSetupDialogBase *CreatePageSetupDialog( wxWindow *parent,
|
||||
wxPageSetupDialogData * data = NULL );
|
||||
|
||||
|
||||
virtual bool HasPrintSetupDialog();
|
||||
virtual wxDialog *CreatePrintSetupDialog( wxWindow *parent, wxPrintData *data );
|
||||
virtual bool HasOwnPrintToFile();
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
virtual wxString CreatePrinterLine();
|
||||
virtual bool HasStatusLine();
|
||||
virtual wxString CreateStatusLine();
|
||||
|
||||
|
||||
virtual wxPrintNativeDataBase *CreatePrintNativeData();
|
||||
};
|
||||
|
||||
@@ -142,14 +142,14 @@ class WXDLLEXPORT wxPrintNativeDataBase: public wxObject
|
||||
public:
|
||||
wxPrintNativeDataBase();
|
||||
virtual ~wxPrintNativeDataBase() {}
|
||||
|
||||
|
||||
virtual bool TransferTo( wxPrintData &data ) = 0;
|
||||
virtual bool TransferFrom( const wxPrintData &data ) = 0;
|
||||
|
||||
virtual bool TransferFrom( const wxPrintData &data ) = 0;
|
||||
|
||||
virtual bool Ok() const = 0;
|
||||
|
||||
|
||||
int m_ref;
|
||||
|
||||
|
||||
private:
|
||||
DECLARE_CLASS(wxPrintNativeDataBase)
|
||||
DECLARE_NO_COPY_CLASS(wxPrintNativeDataBase)
|
||||
@@ -215,12 +215,12 @@ public:
|
||||
virtual bool Setup(wxWindow *parent);
|
||||
virtual bool Print(wxWindow *parent, wxPrintout *printout, bool prompt = true);
|
||||
virtual wxDC* PrintDialog(wxWindow *parent);
|
||||
|
||||
|
||||
virtual wxPrintDialogData& GetPrintDialogData() const;
|
||||
|
||||
protected:
|
||||
wxPrinterBase *m_pimpl;
|
||||
|
||||
|
||||
private:
|
||||
DECLARE_CLASS(wxPrinter)
|
||||
DECLARE_NO_COPY_CLASS(wxPrinter)
|
||||
@@ -376,8 +376,8 @@ private:
|
||||
#define wxPREVIEW_LAST 32
|
||||
#define wxPREVIEW_GOTO 64
|
||||
|
||||
#define wxPREVIEW_DEFAULT wxPREVIEW_PREVIOUS|wxPREVIEW_NEXT|wxPREVIEW_ZOOM\
|
||||
|wxPREVIEW_FIRST|wxPREVIEW_GOTO|wxPREVIEW_LAST
|
||||
#define wxPREVIEW_DEFAULT (wxPREVIEW_PREVIOUS|wxPREVIEW_NEXT|wxPREVIEW_ZOOM\
|
||||
|wxPREVIEW_FIRST|wxPREVIEW_GOTO|wxPREVIEW_LAST)
|
||||
|
||||
// Ids for controls
|
||||
#define wxID_PREVIEW_CLOSE 1
|
||||
@@ -491,7 +491,7 @@ public:
|
||||
virtual int GetZoom() const;
|
||||
|
||||
virtual wxPrintDialogData& GetPrintDialogData();
|
||||
|
||||
|
||||
virtual int GetMaxPage() const;
|
||||
virtual int GetMinPage() const;
|
||||
|
||||
@@ -571,15 +571,15 @@ public:
|
||||
|
||||
virtual bool Print(bool interactive);
|
||||
virtual void DetermineScaling();
|
||||
|
||||
|
||||
virtual wxPrintDialogData& GetPrintDialogData();
|
||||
|
||||
|
||||
virtual int GetMaxPage() const;
|
||||
virtual int GetMinPage() const;
|
||||
|
||||
virtual bool Ok() const;
|
||||
virtual void SetOk(bool ok);
|
||||
|
||||
|
||||
private:
|
||||
wxPrintPreviewBase *m_pimpl;
|
||||
|
||||
|
@@ -138,8 +138,8 @@ name::~name() \
|
||||
// this macro can be used for the most common case when you want to declare and
|
||||
// define the scoped pointer at the same time and want to use the standard
|
||||
// naming convention: auto pointer to Foo is called FooPtr
|
||||
#define wxDEFINE_SCOPED_PTR_TYPE(T) \
|
||||
wxDECLARE_SCOPED_PTR(T, T ## Ptr); \
|
||||
#define wxDEFINE_SCOPED_PTR_TYPE(T) \
|
||||
wxDECLARE_SCOPED_PTR(T, T ## Ptr) \
|
||||
wxDEFINE_SCOPED_PTR(T, T ## Ptr)
|
||||
|
||||
// the same but for arrays instead of simple pointers
|
||||
|
@@ -713,7 +713,7 @@ typedef wxPixelData<wxBitmap, wxAlphaPixelFormat> wxAlphaPixelData;
|
||||
partial template specialization then and neither VC6 nor VC7 provide it.
|
||||
*/
|
||||
template < class Image, class PixelFormat = wxPixelFormatFor<Image> >
|
||||
struct wxPixelIterator : wxPixelData<Image, PixelFormat>::Iterator
|
||||
struct wxPixelIterator : public wxPixelData<Image, PixelFormat>::Iterator
|
||||
{
|
||||
};
|
||||
|
||||
|
@@ -175,7 +175,8 @@ enum wxTextAttrAlignment
|
||||
#define wxTEXT_ATTR_FONT_ITALIC 0x0020
|
||||
#define wxTEXT_ATTR_FONT_UNDERLINE 0x0040
|
||||
#define wxTEXT_ATTR_FONT \
|
||||
wxTEXT_ATTR_FONT_FACE | wxTEXT_ATTR_FONT_SIZE | wxTEXT_ATTR_FONT_WEIGHT | wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE
|
||||
( wxTEXT_ATTR_FONT_FACE | wxTEXT_ATTR_FONT_SIZE | wxTEXT_ATTR_FONT_WEIGHT | \
|
||||
wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE )
|
||||
#define wxTEXT_ATTR_ALIGNMENT 0x0080
|
||||
#define wxTEXT_ATTR_LEFT_INDENT 0x0100
|
||||
#define wxTEXT_ATTR_RIGHT_INDENT 0x0200
|
||||
|
@@ -42,9 +42,9 @@
|
||||
wxMAKE_VERSION_DOT_STRING(wxMAJOR_VERSION, wxMINOR_VERSION, wxRELEASE_NUMBER)
|
||||
|
||||
/* some more defines, not really sure if they're [still] useful */
|
||||
#define wxVERSION_NUMBER (wxMAJOR_VERSION * 1000) + (wxMINOR_VERSION * 100) + wxRELEASE_NUMBER
|
||||
#define wxVERSION_NUMBER ( (wxMAJOR_VERSION * 1000) + (wxMINOR_VERSION * 100) + wxRELEASE_NUMBER )
|
||||
#define wxBETA_NUMBER 0
|
||||
#define wxVERSION_FLOAT wxMAJOR_VERSION + (wxMINOR_VERSION/10.0) + (wxRELEASE_NUMBER/100.0) + (wxBETA_NUMBER/10000.0)
|
||||
#define wxVERSION_FLOAT ( wxMAJOR_VERSION + (wxMINOR_VERSION/10.0) + (wxRELEASE_NUMBER/100.0) + (wxBETA_NUMBER/10000.0) )
|
||||
|
||||
/* check if the current version is at least major.minor.release */
|
||||
#define wxCHECK_VERSION(major,minor,release) \
|
||||
@@ -54,11 +54,11 @@
|
||||
|
||||
/* the same but check the subrelease also */
|
||||
#define wxCHECK_VERSION_FULL(major,minor,release,subrel) \
|
||||
wxCHECK_VERSION(major, minor, release) && \
|
||||
(wxCHECK_VERSION(major, minor, release) && \
|
||||
((major) != wxMAJOR_VERSION || \
|
||||
(minor) != wxMINOR_VERSION || \
|
||||
(release) != wxRELEASE_NUMBER || \
|
||||
(subrel) <= wxSUBRELEASE_NUMBER)
|
||||
(subrel) <= wxSUBRELEASE_NUMBER))
|
||||
|
||||
#endif /* _WX_VERSION_H_ */
|
||||
|
||||
|
@@ -155,14 +155,14 @@ public:
|
||||
wxT(""),
|
||||
wxT(""),
|
||||
(const wxChar *)NULL,
|
||||
wxT("BMP files (*.bmp)|*.bmp|")
|
||||
wxT("PNG files (*.png)|*.png|")
|
||||
wxT("JPEG files (*.jpg)|*.jpg|")
|
||||
wxT("GIF files (*.gif)|*.gif|")
|
||||
wxT("TIFF files (*.tif)|*.tif|")
|
||||
wxT("PCX files (*.pcx)|*.pcx|")
|
||||
wxT("ICO files (*.ico)|*.ico|")
|
||||
wxT("CUR files (*.cur)|*.cur"),
|
||||
wxT("BMP files (*.bmp)|*.bmp|")
|
||||
wxT("PNG files (*.png)|*.png|")
|
||||
wxT("JPEG files (*.jpg)|*.jpg|")
|
||||
wxT("GIF files (*.gif)|*.gif|")
|
||||
wxT("TIFF files (*.tif)|*.tif|")
|
||||
wxT("PCX files (*.pcx)|*.pcx|")
|
||||
wxT("ICO files (*.ico)|*.ico|")
|
||||
wxT("CUR files (*.cur)|*.cur"),
|
||||
wxSAVE,
|
||||
this);
|
||||
|
||||
@@ -216,7 +216,7 @@ public:
|
||||
cmap[i] = (unsigned char)i;
|
||||
image.SetPalette(wxPalette(256, cmap, cmap, cmap));
|
||||
|
||||
delete cmap;
|
||||
delete[] cmap;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -697,7 +697,7 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )
|
||||
dc.DrawText( _T("PNM handler"), 30, 1285 );
|
||||
if (my_horse_pnm && my_horse_pnm->Ok())
|
||||
dc.DrawBitmap( *my_horse_pnm, 30, 1300 );
|
||||
|
||||
|
||||
dc.DrawText( _T("PNM handler (ascii grey)"), 280, 1285 );
|
||||
if (my_horse_asciigrey_pnm && my_horse_asciigrey_pnm->Ok())
|
||||
dc.DrawBitmap( *my_horse_asciigrey_pnm, 280, 1300 );
|
||||
|
@@ -584,7 +584,7 @@ wxPageSetupDialogData& wxPageSetupDialogData::operator=(const wxPageSetupDialogD
|
||||
m_enableOrientation = data.m_enableOrientation;
|
||||
m_enablePaper = data.m_enablePaper;
|
||||
m_enablePrinter = data.m_enablePrinter;
|
||||
m_getDefaultInfo = data.m_getDefaultInfo;;
|
||||
m_getDefaultInfo = data.m_getDefaultInfo;
|
||||
m_enableHelp = data.m_enableHelp;
|
||||
|
||||
m_printData = data.m_printData;
|
||||
|
@@ -70,8 +70,8 @@ public:
|
||||
|
||||
// we need a special kind of auto pointer to wxApp which not only deletes the
|
||||
// pointer it holds in its dtor but also resets the global application pointer
|
||||
wxDECLARE_SCOPED_PTR(wxAppConsole, wxAppPtrBase);
|
||||
wxDEFINE_SCOPED_PTR(wxAppConsole, wxAppPtrBase);
|
||||
wxDECLARE_SCOPED_PTR(wxAppConsole, wxAppPtrBase)
|
||||
wxDEFINE_SCOPED_PTR(wxAppConsole, wxAppPtrBase)
|
||||
|
||||
class wxAppPtr : public wxAppPtrBase
|
||||
{
|
||||
|
@@ -77,7 +77,7 @@ void wxTransformMatrix::operator = (const wxTransformMatrix& mat)
|
||||
|
||||
bool wxTransformMatrix::operator == (const wxTransformMatrix& mat)
|
||||
{
|
||||
if (m_isIdentity==true && mat.m_isIdentity==true)
|
||||
if (m_isIdentity && mat.m_isIdentity)
|
||||
return true;
|
||||
|
||||
int i, j;
|
||||
|
@@ -42,8 +42,8 @@
|
||||
// wxRendererPtr: auto pointer holding the global renderer
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxDECLARE_SCOPED_PTR(wxRendererNative, wxRendererPtrBase);
|
||||
wxDEFINE_SCOPED_PTR(wxRendererNative, wxRendererPtrBase);
|
||||
wxDECLARE_SCOPED_PTR(wxRendererNative, wxRendererPtrBase)
|
||||
wxDEFINE_SCOPED_PTR(wxRendererNative, wxRendererPtrBase)
|
||||
|
||||
class wxRendererPtr : public wxRendererPtrBase
|
||||
{
|
||||
|
@@ -90,7 +90,7 @@ bool wxIsStockID(wxWindowID id)
|
||||
|
||||
default:
|
||||
return false;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
wxString wxGetStockLabel(wxWindowID id, bool withCodes, wxString accelerator)
|
||||
|
@@ -2513,7 +2513,7 @@ wxMBConv *wxCSConv::DoCreate() const
|
||||
|
||||
#if wxUSE_FONTMAP
|
||||
if ( name.empty() )
|
||||
name = wxFontMapperBase::Get()->GetEncodingName(m_encoding);
|
||||
name = wxFontMapperBase::GetEncodingName(m_encoding);
|
||||
#endif // wxUSE_FONTMAP
|
||||
|
||||
wxMBConv_iconv *conv = new wxMBConv_iconv(name);
|
||||
|
@@ -474,7 +474,7 @@ wxBitmap wxBitmap::Rescale( int clipx, int clipy, int clipwidth, int clipheight,
|
||||
if (!pixval)
|
||||
{
|
||||
char bit=1;
|
||||
char shift = bit << w % 8;
|
||||
char shift = bit << (w % 8);
|
||||
outbyte |= shift;
|
||||
}
|
||||
|
||||
@@ -537,7 +537,7 @@ wxBitmap wxBitmap::Rescale( int clipx, int clipy, int clipwidth, int clipheight,
|
||||
if (pixval)
|
||||
{
|
||||
char bit=1;
|
||||
char shift = bit << w % 8;
|
||||
char shift = bit << (w % 8);
|
||||
outbyte |= shift;
|
||||
}
|
||||
|
||||
|
@@ -44,25 +44,25 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
|
||||
|
||||
wxString title(_("Choose colour"));
|
||||
m_widget = gtk_color_selection_dialog_new(wxGTK_CONV(title));
|
||||
|
||||
|
||||
if (parent)
|
||||
gtk_window_set_transient_for(GTK_WINDOW(m_widget),
|
||||
GTK_WINDOW(parent->m_widget));
|
||||
|
||||
GtkColorSelection *sel =
|
||||
|
||||
GtkColorSelection *sel =
|
||||
GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(m_widget)->colorsel);
|
||||
gtk_color_selection_set_has_palette(sel, true);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
int wxColourDialog::ShowModal()
|
||||
{
|
||||
ColourDataToDialog();
|
||||
|
||||
|
||||
gint result = gtk_dialog_run(GTK_DIALOG(m_widget));
|
||||
gtk_widget_hide(m_widget);
|
||||
|
||||
|
||||
switch (result)
|
||||
{
|
||||
default:
|
||||
@@ -73,18 +73,18 @@ int wxColourDialog::ShowModal()
|
||||
case GTK_RESPONSE_DELETE_EVENT:
|
||||
case GTK_RESPONSE_CLOSE:
|
||||
return wxID_CANCEL;
|
||||
|
||||
|
||||
case GTK_RESPONSE_OK:
|
||||
DialogToColourData();
|
||||
return wxID_OK;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
void wxColourDialog::ColourDataToDialog()
|
||||
{
|
||||
GtkColorSelection *sel =
|
||||
GtkColorSelection *sel =
|
||||
GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(m_widget)->colorsel);
|
||||
|
||||
|
||||
if (m_data.GetColour().Ok())
|
||||
{
|
||||
gtk_color_selection_set_current_color(sel,
|
||||
@@ -115,13 +115,13 @@ void wxColourDialog::ColourDataToDialog()
|
||||
|
||||
void wxColourDialog::DialogToColourData()
|
||||
{
|
||||
GtkColorSelection *sel =
|
||||
GtkColorSelection *sel =
|
||||
GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(m_widget)->colorsel);
|
||||
|
||||
GdkColor clr;
|
||||
gtk_color_selection_get_current_color(sel, &clr);
|
||||
m_data.SetColour(wxColour(clr.red >> 8, clr.green >> 8, clr.blue >> 8));
|
||||
|
||||
|
||||
// Extract custom palette:
|
||||
|
||||
GtkSettings *settings = gtk_widget_get_settings(GTK_WIDGET(sel));
|
||||
@@ -140,7 +140,7 @@ void wxColourDialog::DialogToColourData()
|
||||
}
|
||||
g_free(colors);
|
||||
}
|
||||
|
||||
|
||||
g_free(pal);
|
||||
}
|
||||
|
||||
|
@@ -474,7 +474,7 @@ wxBitmap wxBitmap::Rescale( int clipx, int clipy, int clipwidth, int clipheight,
|
||||
if (!pixval)
|
||||
{
|
||||
char bit=1;
|
||||
char shift = bit << w % 8;
|
||||
char shift = bit << (w % 8);
|
||||
outbyte |= shift;
|
||||
}
|
||||
|
||||
@@ -537,7 +537,7 @@ wxBitmap wxBitmap::Rescale( int clipx, int clipy, int clipwidth, int clipheight,
|
||||
if (pixval)
|
||||
{
|
||||
char bit=1;
|
||||
char shift = bit << w % 8;
|
||||
char shift = bit << (w % 8);
|
||||
outbyte |= shift;
|
||||
}
|
||||
|
||||
|
@@ -44,25 +44,25 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
|
||||
|
||||
wxString title(_("Choose colour"));
|
||||
m_widget = gtk_color_selection_dialog_new(wxGTK_CONV(title));
|
||||
|
||||
|
||||
if (parent)
|
||||
gtk_window_set_transient_for(GTK_WINDOW(m_widget),
|
||||
GTK_WINDOW(parent->m_widget));
|
||||
|
||||
GtkColorSelection *sel =
|
||||
|
||||
GtkColorSelection *sel =
|
||||
GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(m_widget)->colorsel);
|
||||
gtk_color_selection_set_has_palette(sel, true);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
int wxColourDialog::ShowModal()
|
||||
{
|
||||
ColourDataToDialog();
|
||||
|
||||
|
||||
gint result = gtk_dialog_run(GTK_DIALOG(m_widget));
|
||||
gtk_widget_hide(m_widget);
|
||||
|
||||
|
||||
switch (result)
|
||||
{
|
||||
default:
|
||||
@@ -73,18 +73,18 @@ int wxColourDialog::ShowModal()
|
||||
case GTK_RESPONSE_DELETE_EVENT:
|
||||
case GTK_RESPONSE_CLOSE:
|
||||
return wxID_CANCEL;
|
||||
|
||||
|
||||
case GTK_RESPONSE_OK:
|
||||
DialogToColourData();
|
||||
return wxID_OK;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
void wxColourDialog::ColourDataToDialog()
|
||||
{
|
||||
GtkColorSelection *sel =
|
||||
GtkColorSelection *sel =
|
||||
GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(m_widget)->colorsel);
|
||||
|
||||
|
||||
if (m_data.GetColour().Ok())
|
||||
{
|
||||
gtk_color_selection_set_current_color(sel,
|
||||
@@ -115,13 +115,13 @@ void wxColourDialog::ColourDataToDialog()
|
||||
|
||||
void wxColourDialog::DialogToColourData()
|
||||
{
|
||||
GtkColorSelection *sel =
|
||||
GtkColorSelection *sel =
|
||||
GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(m_widget)->colorsel);
|
||||
|
||||
GdkColor clr;
|
||||
gtk_color_selection_get_current_color(sel, &clr);
|
||||
m_data.SetColour(wxColour(clr.red >> 8, clr.green >> 8, clr.blue >> 8));
|
||||
|
||||
|
||||
// Extract custom palette:
|
||||
|
||||
GtkSettings *settings = gtk_widget_get_settings(GTK_WIDGET(sel));
|
||||
@@ -140,7 +140,7 @@ void wxColourDialog::DialogToColourData()
|
||||
}
|
||||
g_free(colors);
|
||||
}
|
||||
|
||||
|
||||
g_free(pal);
|
||||
}
|
||||
|
||||
|
@@ -964,7 +964,7 @@ wxBitmap::wxBitmap(const wxImage& image, int depth)
|
||||
int width = image.GetWidth();
|
||||
int height = image.GetHeight();
|
||||
|
||||
m_refData = new wxBitmapRefData( width , height , depth ) ;;
|
||||
m_refData = new wxBitmapRefData( width , height , depth ) ;
|
||||
|
||||
// Create picture
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// Name: display.cpp
|
||||
// Purpose: Mac implementation of wxDisplay class
|
||||
// Author: Ryan Norton & Brian Victor
|
||||
// Modified by: Royce Mitchell III
|
||||
// Modified by: Royce Mitchell III
|
||||
// Created: 06/21/02
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) wxWidgets team
|
||||
@@ -58,7 +58,7 @@ size_t wxDisplayBase::GetCount()
|
||||
{
|
||||
CGDisplayCount count;
|
||||
#ifdef __WXDEBUG__
|
||||
CGDisplayErr err =
|
||||
CGDisplayErr err =
|
||||
#endif
|
||||
CGGetActiveDisplayList(0, NULL, &count);
|
||||
|
||||
@@ -67,14 +67,14 @@ size_t wxDisplayBase::GetCount()
|
||||
}
|
||||
|
||||
int wxDisplayBase::GetFromPoint(const wxPoint &p)
|
||||
{
|
||||
{
|
||||
CGPoint thePoint = {(float)p.x, (float)p.y};
|
||||
CGDirectDisplayID theID;
|
||||
CGDisplayCount theCount;
|
||||
CGDisplayErr err = CGGetDisplaysWithPoint(thePoint, 1, &theID, &theCount);
|
||||
wxASSERT(err == CGDisplayNoErr);
|
||||
int nWhich = -1;
|
||||
|
||||
|
||||
if (theCount)
|
||||
{
|
||||
theCount = GetCount();
|
||||
@@ -87,16 +87,16 @@ int wxDisplayBase::GetFromPoint(const wxPoint &p)
|
||||
if(theIDs[nWhich] == theID)
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
delete[] theIDs;
|
||||
|
||||
|
||||
if(nWhich == (int) theCount)
|
||||
{
|
||||
wxFAIL_MSG(wxT("Failed to find display in display list"));
|
||||
nWhich = -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return nWhich;
|
||||
}//CFUserNotification[NSBundle bundleForClass:[self class]]
|
||||
|
||||
@@ -106,25 +106,25 @@ wxDisplay::wxDisplay(size_t index) : wxDisplayBase ( index ) ,
|
||||
CGDisplayCount theCount = GetCount();
|
||||
CGDirectDisplayID* theIDs = new CGDirectDisplayID[theCount];
|
||||
#ifdef __WXDEBUG__
|
||||
CGDisplayErr err =
|
||||
CGDisplayErr err =
|
||||
#endif
|
||||
CGGetActiveDisplayList(theCount, theIDs, &theCount);
|
||||
|
||||
wxASSERT(err == CGDisplayNoErr);
|
||||
wxASSERT(index < theCount);
|
||||
|
||||
|
||||
m_priv->m_id = theIDs[index];
|
||||
|
||||
|
||||
delete[] theIDs;
|
||||
}
|
||||
|
||||
wxRect wxDisplay::GetGeometry() const
|
||||
{
|
||||
CGRect theRect = CGDisplayBounds(m_priv->m_id);
|
||||
return wxRect( (int)theRect.origin.x,
|
||||
(int)theRect.origin.y,
|
||||
(int)theRect.size.width,
|
||||
(int)theRect.size.height ); //floats
|
||||
return wxRect( (int)theRect.origin.x,
|
||||
(int)theRect.origin.y,
|
||||
(int)theRect.size.width,
|
||||
(int)theRect.size.height ); //floats
|
||||
}
|
||||
|
||||
int wxDisplay::GetDepth() const
|
||||
@@ -153,29 +153,29 @@ wxArrayVideoModes
|
||||
wxDisplay::GetModes(const wxVideoMode& mode) const
|
||||
{
|
||||
wxArrayVideoModes Modes;
|
||||
|
||||
|
||||
CFArrayRef theArray = CGDisplayAvailableModes(m_priv->m_id);
|
||||
|
||||
for(CFIndex i = 0; i < CFArrayGetCount(theArray); ++i)
|
||||
{
|
||||
CFDictionaryRef theValue = (CFDictionaryRef) CFArrayGetValueAtIndex(theArray, i);
|
||||
|
||||
|
||||
wxVideoMode theMode(wxCFDictKeyToInt(theValue, kCGDisplayWidth),
|
||||
wxCFDictKeyToInt(theValue, kCGDisplayHeight),
|
||||
wxCFDictKeyToInt(theValue, kCGDisplayBitsPerPixel),
|
||||
wxCFDictKeyToInt(theValue, kCGDisplayRefreshRate));
|
||||
|
||||
|
||||
if (theMode.Matches(mode))
|
||||
Modes.Add(theMode);
|
||||
}
|
||||
|
||||
|
||||
return Modes;
|
||||
}
|
||||
|
||||
wxVideoMode wxDisplay::GetCurrentMode() const
|
||||
{
|
||||
CFDictionaryRef theValue = CGDisplayCurrentMode (m_priv->m_id);
|
||||
|
||||
|
||||
return wxVideoMode(wxCFDictKeyToInt(theValue, kCGDisplayWidth),
|
||||
wxCFDictKeyToInt(theValue, kCGDisplayHeight),
|
||||
wxCFDictKeyToInt(theValue, kCGDisplayBitsPerPixel),
|
||||
@@ -196,9 +196,9 @@ bool wxDisplay::ChangeMode(const wxVideoMode& mode)
|
||||
(size_t)mode.h,
|
||||
(double)mode.refresh,
|
||||
&bExactMatch);
|
||||
|
||||
|
||||
bool bOK = bExactMatch;
|
||||
|
||||
|
||||
if(bOK)
|
||||
bOK = CGDisplaySwitchToMode(m_priv->m_id, theCGMode) == CGDisplayNoErr;
|
||||
|
||||
@@ -278,7 +278,7 @@ wxRect wxDisplay::GetGeometry() const
|
||||
if (!(m_priv)) return wxRect(0, 0, 0, 0);
|
||||
if (!(m_priv->m_hndl)) return wxRect(0, 0, 0, 0);
|
||||
Rect screenrect = (*(m_priv->m_hndl))->gdRect;
|
||||
return wxRect( screenrect.left, screenrect.top,
|
||||
return wxRect( screenrect.left, screenrect.top,
|
||||
screenrect.right - screenrect.left, screenrect.bottom - screenrect.top);
|
||||
}
|
||||
|
||||
@@ -291,9 +291,9 @@ int wxDisplay::GetDepth() const
|
||||
// http://developer.apple.com/samplecode/Sample_Code/Graphics_2D/GDevVideo/Gen.cp.htm
|
||||
|
||||
//RN - according to the docs
|
||||
//gdPMap is a bitmap-type representation of the GDevice, and all
|
||||
//0x0000FFFF does is get the lower 16 bits of pixelSize. However,
|
||||
//since pixelSize is only 16 bits (a short)...
|
||||
//gdPMap is a bitmap-type representation of the GDevice, and all
|
||||
//0x0000FFFF does is get the lower 16 bits of pixelSize. However,
|
||||
//since pixelSize is only 16 bits (a short)...
|
||||
return ((*(*(m_priv->m_hndl))->gdPMap)->pixelSize) & 0x0000FFFF;
|
||||
}
|
||||
|
||||
@@ -305,96 +305,96 @@ wxString wxDisplay::GetName() const
|
||||
|
||||
struct DMModeIteratorRec
|
||||
{
|
||||
wxArrayVideoModes* pModes;
|
||||
const wxVideoMode* pMatchMode;
|
||||
wxArrayVideoModes* pModes;
|
||||
const wxVideoMode* pMatchMode;
|
||||
};
|
||||
|
||||
pascal void DMModeListIteratorProc ( void* pData,
|
||||
DMListIndexType nIndex,
|
||||
DMDisplayModeListEntryPtr pInfo)
|
||||
pascal void DMModeListIteratorProc ( void* pData,
|
||||
DMListIndexType nIndex,
|
||||
DMDisplayModeListEntryPtr pInfo)
|
||||
{
|
||||
DMModeIteratorRec* pInfoData = (DMModeIteratorRec*) pData;
|
||||
|
||||
//Note that in testing the refresh rate is always 0 on my ibook - RN
|
||||
//Note that in testing the refresh rate is always 0 on my ibook - RN
|
||||
int refresh = (int) Fix2Long(pInfo->displayModeResolutionInfo->csRefreshRate);
|
||||
|
||||
for(unsigned long i = 0; i < pInfo->displayModeDepthBlockInfo->depthBlockCount; ++i)
|
||||
{
|
||||
for(unsigned long i = 0; i < pInfo->displayModeDepthBlockInfo->depthBlockCount; ++i)
|
||||
{
|
||||
#define pDBI pInfo->displayModeDepthBlockInfo->depthVPBlock[i].depthVPBlock
|
||||
|
||||
if (wxVideoMode((int) pInfo->displayModeResolutionInfo->csHorizontalPixels,
|
||||
(int) pInfo->displayModeResolutionInfo->csVerticalLines,
|
||||
(int) pDBI->vpPixelSize,
|
||||
refresh).Matches(*pInfoData->pMatchMode) )
|
||||
{
|
||||
pInfoData->pModes->Add(wxVideoMode((int) pInfo->displayModeResolutionInfo->csHorizontalPixels,
|
||||
(int) pInfo->displayModeResolutionInfo->csVerticalLines,
|
||||
(int) pDBI->vpPixelSize,
|
||||
refresh));
|
||||
}
|
||||
if (wxVideoMode((int) pInfo->displayModeResolutionInfo->csHorizontalPixels,
|
||||
(int) pInfo->displayModeResolutionInfo->csVerticalLines,
|
||||
(int) pDBI->vpPixelSize,
|
||||
refresh).Matches(*pInfoData->pMatchMode) )
|
||||
{
|
||||
pInfoData->pModes->Add(wxVideoMode((int) pInfo->displayModeResolutionInfo->csHorizontalPixels,
|
||||
(int) pInfo->displayModeResolutionInfo->csVerticalLines,
|
||||
(int) pDBI->vpPixelSize,
|
||||
refresh));
|
||||
}
|
||||
#undef pDBI
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct DMModeInfoRec
|
||||
{
|
||||
const wxVideoMode* pMode;
|
||||
VDSwitchInfoRec sMode;
|
||||
bool bMatched;
|
||||
const wxVideoMode* pMode;
|
||||
VDSwitchInfoRec sMode;
|
||||
bool bMatched;
|
||||
};
|
||||
|
||||
pascal void DMModeInfoProc ( void* pData,
|
||||
DMListIndexType nIndex,
|
||||
DMDisplayModeListEntryPtr pInfo)
|
||||
pascal void DMModeInfoProc ( void* pData,
|
||||
DMListIndexType nIndex,
|
||||
DMDisplayModeListEntryPtr pInfo)
|
||||
{
|
||||
DMModeInfoRec* pInfoData = (DMModeInfoRec*) pData;
|
||||
Fixed refresh = Long2Fix(pInfoData->pMode->refresh);
|
||||
DMModeInfoRec* pInfoData = (DMModeInfoRec*) pData;
|
||||
Fixed refresh = Long2Fix(pInfoData->pMode->refresh);
|
||||
|
||||
for(unsigned long i = 0; i < pInfo->displayModeDepthBlockInfo->depthBlockCount; ++i)
|
||||
{
|
||||
for(unsigned long i = 0; i < pInfo->displayModeDepthBlockInfo->depthBlockCount; ++i)
|
||||
{
|
||||
#define pDBI pInfo->displayModeDepthBlockInfo->depthVPBlock[i].depthVPBlock
|
||||
if (pInfoData->pMode->w == (int&) pInfo->displayModeResolutionInfo->csHorizontalPixels &&
|
||||
pInfoData->pMode->h == (int&) pInfo->displayModeResolutionInfo->csVerticalLines &&
|
||||
pInfoData->pMode->bpp == (int) pDBI->vpPixelSize &&
|
||||
refresh == pInfo->displayModeResolutionInfo->csRefreshRate)
|
||||
{
|
||||
memcpy(&pInfoData->sMode, pInfo->displayModeDepthBlockInfo->depthVPBlock[i].depthSwitchInfo,
|
||||
sizeof(VDSwitchInfoRec));
|
||||
pInfoData->sMode.csMode = pDBI->vpPixelSize;
|
||||
pInfoData->bMatched = true;
|
||||
break;
|
||||
}
|
||||
if (pInfoData->pMode->w == (int&) pInfo->displayModeResolutionInfo->csHorizontalPixels &&
|
||||
pInfoData->pMode->h == (int&) pInfo->displayModeResolutionInfo->csVerticalLines &&
|
||||
pInfoData->pMode->bpp == (int) pDBI->vpPixelSize &&
|
||||
refresh == pInfo->displayModeResolutionInfo->csRefreshRate)
|
||||
{
|
||||
memcpy(&pInfoData->sMode, pInfo->displayModeDepthBlockInfo->depthVPBlock[i].depthSwitchInfo,
|
||||
sizeof(VDSwitchInfoRec));
|
||||
pInfoData->sMode.csMode = pDBI->vpPixelSize;
|
||||
pInfoData->bMatched = true;
|
||||
break;
|
||||
}
|
||||
#undef pDBI
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct DMModeTransRec
|
||||
{
|
||||
wxVideoMode Mode;
|
||||
const VDSwitchInfoRec* psMode;
|
||||
bool bMatched;
|
||||
wxVideoMode Mode;
|
||||
const VDSwitchInfoRec* psMode;
|
||||
bool bMatched;
|
||||
};
|
||||
|
||||
pascal void DMModeTransProc ( void* pData,
|
||||
DMListIndexType nIndex,
|
||||
DMDisplayModeListEntryPtr pInfo)
|
||||
pascal void DMModeTransProc ( void* pData,
|
||||
DMListIndexType nIndex,
|
||||
DMDisplayModeListEntryPtr pInfo)
|
||||
{
|
||||
DMModeTransRec* pInfoData = (DMModeTransRec*) pData;
|
||||
DMModeTransRec* pInfoData = (DMModeTransRec*) pData;
|
||||
|
||||
for(unsigned long i = 0; i < pInfo->displayModeDepthBlockInfo->depthBlockCount; ++i)
|
||||
{
|
||||
for(unsigned long i = 0; i < pInfo->displayModeDepthBlockInfo->depthBlockCount; ++i)
|
||||
{
|
||||
#define pDBI pInfo->displayModeDepthBlockInfo->depthVPBlock[i].depthVPBlock
|
||||
if (pInfoData->psMode->csData == pInfo->displayModeDepthBlockInfo->depthVPBlock[i].depthSwitchInfo->csData)
|
||||
{
|
||||
pInfoData->Mode = wxVideoMode((int) pInfo->displayModeResolutionInfo->csHorizontalPixels,
|
||||
(int) pInfo->displayModeResolutionInfo->csVerticalLines,
|
||||
(int) pDBI->vpPixelSize,
|
||||
(int) Fix2Long(pInfo->displayModeResolutionInfo->csRefreshRate) );
|
||||
pInfoData->bMatched = true;
|
||||
break;
|
||||
}
|
||||
if (pInfoData->psMode->csData == pInfo->displayModeDepthBlockInfo->depthVPBlock[i].depthSwitchInfo->csData)
|
||||
{
|
||||
pInfoData->Mode = wxVideoMode((int) pInfo->displayModeResolutionInfo->csHorizontalPixels,
|
||||
(int) pInfo->displayModeResolutionInfo->csVerticalLines,
|
||||
(int) pDBI->vpPixelSize,
|
||||
(int) Fix2Long(pInfo->displayModeResolutionInfo->csRefreshRate) );
|
||||
pInfoData->bMatched = true;
|
||||
break;
|
||||
}
|
||||
#undef pDBI
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
wxArrayVideoModes
|
||||
@@ -410,41 +410,41 @@ wxArrayVideoModes
|
||||
if (dwDMVer >= 0x020000) //version 2?
|
||||
{
|
||||
|
||||
DMListIndexType nNumModes;
|
||||
DMListType pModes;
|
||||
DMDisplayModeListIteratorUPP uppMLI;
|
||||
DisplayIDType nDisplayID;
|
||||
DMListIndexType nNumModes;
|
||||
DMListType pModes;
|
||||
DMDisplayModeListIteratorUPP uppMLI;
|
||||
DisplayIDType nDisplayID;
|
||||
OSErr err;
|
||||
|
||||
err = DMGetDisplayIDByGDevice(m_priv->m_hndl, &nDisplayID, false);
|
||||
wxASSERT(err == noErr);
|
||||
|
||||
//Create a new list...
|
||||
wxASSERT(err == noErr);
|
||||
|
||||
//Create a new list...
|
||||
err = DMNewDisplayModeList(nDisplayID, NULL, NULL, &nNumModes, &pModes);
|
||||
wxASSERT_MSG(err == noErr, wxT("Could not create a new display mode list") );
|
||||
wxASSERT_MSG(err == noErr, wxT("Could not create a new display mode list") );
|
||||
|
||||
uppMLI = NewDMDisplayModeListIteratorUPP(DMModeListIteratorProc);
|
||||
wxASSERT(uppMLI);
|
||||
uppMLI = NewDMDisplayModeListIteratorUPP(DMModeListIteratorProc);
|
||||
wxASSERT(uppMLI);
|
||||
|
||||
DMModeIteratorRec sModeInfo;
|
||||
sModeInfo.pModes = &Modes;
|
||||
sModeInfo.pMatchMode = &mode;
|
||||
for (DMListIndexType i = 0; i < nNumModes; ++i)
|
||||
{
|
||||
DMModeIteratorRec sModeInfo;
|
||||
sModeInfo.pModes = &Modes;
|
||||
sModeInfo.pMatchMode = &mode;
|
||||
for (DMListIndexType i = 0; i < nNumModes; ++i)
|
||||
{
|
||||
err = DMGetIndexedDisplayModeFromList(pModes, i, NULL, uppMLI, &sModeInfo);
|
||||
wxASSERT(err == noErr);
|
||||
}
|
||||
DisposeDMDisplayModeListIteratorUPP(uppMLI);
|
||||
|
||||
wxASSERT(err == noErr);
|
||||
}
|
||||
DisposeDMDisplayModeListIteratorUPP(uppMLI);
|
||||
|
||||
err = DMDisposeList(pModes);
|
||||
wxASSERT(err == noErr);
|
||||
wxASSERT(err == noErr);
|
||||
}
|
||||
else //DM 1.0, 1.2, 1.x
|
||||
{
|
||||
wxLogSysError(wxString::Format(wxT("Display Manager Version %u Not Supported! Present? %s"),
|
||||
(unsigned int) dwDMVer / 0x10000,
|
||||
(dwDMVer & (1 << gestaltDisplayMgrPresent) ? wxT("Yes") : wxT("No")) )
|
||||
);
|
||||
wxLogSysError(wxString::Format(wxT("Display Manager Version %u Not Supported! Present? %s"),
|
||||
(unsigned int) dwDMVer / 0x10000,
|
||||
(dwDMVer & (1 << gestaltDisplayMgrPresent) ? wxT("Yes") : wxT("No")) )
|
||||
);
|
||||
}
|
||||
|
||||
return Modes;
|
||||
@@ -454,64 +454,64 @@ wxVideoMode wxDisplay::GetCurrentMode() const
|
||||
{
|
||||
unsigned long dwDMVer;
|
||||
wxVideoMode RetMode;
|
||||
|
||||
Gestalt(gestaltDisplayMgrVers, (long*) &dwDMVer);
|
||||
|
||||
Gestalt(gestaltDisplayMgrVers, (long*) &dwDMVer);
|
||||
//Check DM version (for backward compatibility only - 7.5.3+ use 2.0)
|
||||
if (dwDMVer >= 0x020000) //version 2?
|
||||
{
|
||||
VDSwitchInfoRec sMode; //Note - csMode member also contains the bit depth
|
||||
if (DMGetDisplayMode(m_priv->m_hndl, &sMode) == noErr)
|
||||
{
|
||||
DMListIndexType nNumModes;
|
||||
DMListType pModes;
|
||||
DMDisplayModeListIteratorUPP uppMLI;
|
||||
DisplayIDType nDisplayID;
|
||||
VDSwitchInfoRec sMode; //Note - csMode member also contains the bit depth
|
||||
if (DMGetDisplayMode(m_priv->m_hndl, &sMode) == noErr)
|
||||
{
|
||||
DMListIndexType nNumModes;
|
||||
DMListType pModes;
|
||||
DMDisplayModeListIteratorUPP uppMLI;
|
||||
DisplayIDType nDisplayID;
|
||||
OSErr err;
|
||||
|
||||
err = DMGetDisplayIDByGDevice(m_priv->m_hndl, &nDisplayID, false);
|
||||
wxASSERT(err == noErr);
|
||||
|
||||
//Create a new list...
|
||||
wxASSERT(err == noErr);
|
||||
|
||||
//Create a new list...
|
||||
err = DMNewDisplayModeList(nDisplayID, NULL, NULL, &nNumModes, &pModes);
|
||||
wxASSERT_MSG(err == noErr, wxT("Could not create a new display mode list") );
|
||||
|
||||
uppMLI = NewDMDisplayModeListIteratorUPP(DMModeTransProc);
|
||||
wxASSERT(uppMLI);
|
||||
wxASSERT_MSG(err == noErr, wxT("Could not create a new display mode list") );
|
||||
|
||||
DMModeTransRec sModeInfo;
|
||||
sModeInfo.bMatched = false;
|
||||
sModeInfo.psMode = &sMode;
|
||||
for (DMListIndexType i = 0; i < nNumModes; ++i)
|
||||
{
|
||||
uppMLI = NewDMDisplayModeListIteratorUPP(DMModeTransProc);
|
||||
wxASSERT(uppMLI);
|
||||
|
||||
DMModeTransRec sModeInfo;
|
||||
sModeInfo.bMatched = false;
|
||||
sModeInfo.psMode = &sMode;
|
||||
for (DMListIndexType i = 0; i < nNumModes; ++i)
|
||||
{
|
||||
err = DMGetIndexedDisplayModeFromList(pModes, i, NULL, uppMLI, &sModeInfo);
|
||||
wxASSERT(err == noErr);
|
||||
wxASSERT(err == noErr);
|
||||
|
||||
if ( sModeInfo.bMatched == true )
|
||||
{
|
||||
RetMode = sModeInfo.Mode;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( sModeInfo.bMatched )
|
||||
{
|
||||
RetMode = sModeInfo.Mode;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
DisposeDMDisplayModeListIteratorUPP(uppMLI);
|
||||
|
||||
DisposeDMDisplayModeListIteratorUPP(uppMLI);
|
||||
|
||||
err = DMDisposeList(pModes);
|
||||
wxASSERT(err == noErr);
|
||||
}
|
||||
else //Can't get current mode?
|
||||
{
|
||||
wxLogSysError(wxString::Format(wxT("Couldn't obtain current display mode!!!\ndwDMVer:%u"),
|
||||
(unsigned int) dwDMVer));
|
||||
}
|
||||
wxASSERT(err == noErr);
|
||||
}
|
||||
else //Can't get current mode?
|
||||
{
|
||||
wxLogSysError(wxString::Format(wxT("Couldn't obtain current display mode!!!\ndwDMVer:%u"),
|
||||
(unsigned int) dwDMVer));
|
||||
}
|
||||
}
|
||||
else //DM ver 1
|
||||
{
|
||||
wxLogSysError(wxString::Format(wxT("Display Manager Version %u Not Supported! Present? %s"),
|
||||
(unsigned int) dwDMVer / 0x10000,
|
||||
(dwDMVer & (1 << gestaltDisplayMgrPresent) ? wxT("Yes") : wxT("No")) )
|
||||
);
|
||||
wxLogSysError(wxString::Format(wxT("Display Manager Version %u Not Supported! Present? %s"),
|
||||
(unsigned int) dwDMVer / 0x10000,
|
||||
(dwDMVer & (1 << gestaltDisplayMgrPresent) ? wxT("Yes") : wxT("No")) )
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
return RetMode;
|
||||
}
|
||||
|
||||
@@ -521,103 +521,103 @@ bool wxDisplay::ChangeMode(const wxVideoMode& mode)
|
||||
Gestalt(gestaltDisplayMgrVers, (long*)&dwDMVer);
|
||||
if (GetCount() == 1 || dwDMVer >= 0x020000)
|
||||
{
|
||||
if (mode == wxDefaultVideoMode)
|
||||
{
|
||||
if (mode == wxDefaultVideoMode)
|
||||
{
|
||||
//#ifndef __DARWIN__
|
||||
// Handle hDisplayState;
|
||||
// if (DMBeginConfigureDisplays(&hDisplayState) != noErr)
|
||||
// {
|
||||
// wxLogSysError(wxT("Could not lock display for display mode changing!"));
|
||||
// return false;
|
||||
// }
|
||||
// wxASSERT( DMUseScreenPrefs(true, hDisplayState) == noErr);
|
||||
// DMEndConfigureDisplays(hDisplayState);
|
||||
// return true;
|
||||
// Handle hDisplayState;
|
||||
// if (DMBeginConfigureDisplays(&hDisplayState) != noErr)
|
||||
// {
|
||||
// wxLogSysError(wxT("Could not lock display for display mode changing!"));
|
||||
// return false;
|
||||
// }
|
||||
// wxASSERT( DMUseScreenPrefs(true, hDisplayState) == noErr);
|
||||
// DMEndConfigureDisplays(hDisplayState);
|
||||
// return true;
|
||||
//#else
|
||||
//hmmmmm....
|
||||
return true;
|
||||
//hmmmmm....
|
||||
return true;
|
||||
//#endif
|
||||
}
|
||||
|
||||
//0 & NULL for params 2 & 3 of DMSetVideoMode signal it to use defaults (current mode)
|
||||
//DM 2.0+ doesn't use params 2 & 3 of DMSetDisplayMode
|
||||
//so we have to use this icky structure
|
||||
VDSwitchInfoRec sMode;
|
||||
memset(&sMode, 0, sizeof(VDSwitchInfoRec) );
|
||||
}
|
||||
|
||||
DMListIndexType nNumModes;
|
||||
DMListType pModes;
|
||||
DMDisplayModeListIteratorUPP uppMLI;
|
||||
DisplayIDType nDisplayID;
|
||||
//0 & NULL for params 2 & 3 of DMSetVideoMode signal it to use defaults (current mode)
|
||||
//DM 2.0+ doesn't use params 2 & 3 of DMSetDisplayMode
|
||||
//so we have to use this icky structure
|
||||
VDSwitchInfoRec sMode;
|
||||
memset(&sMode, 0, sizeof(VDSwitchInfoRec) );
|
||||
|
||||
DMListIndexType nNumModes;
|
||||
DMListType pModes;
|
||||
DMDisplayModeListIteratorUPP uppMLI;
|
||||
DisplayIDType nDisplayID;
|
||||
OSErr err;
|
||||
|
||||
err = DMGetDisplayIDByGDevice(m_priv->m_hndl, &nDisplayID, false);
|
||||
wxASSERT(err == noErr);
|
||||
|
||||
//Create a new list...
|
||||
wxASSERT(err == noErr);
|
||||
|
||||
//Create a new list...
|
||||
err = DMNewDisplayModeList(nDisplayID, NULL, NULL, &nNumModes, &pModes);
|
||||
wxASSERT_MSG(err == noErr, wxT("Could not create a new display mode list") );
|
||||
wxASSERT_MSG(err == noErr, wxT("Could not create a new display mode list") );
|
||||
|
||||
uppMLI = NewDMDisplayModeListIteratorUPP(DMModeInfoProc);
|
||||
wxASSERT(uppMLI);
|
||||
uppMLI = NewDMDisplayModeListIteratorUPP(DMModeInfoProc);
|
||||
wxASSERT(uppMLI);
|
||||
|
||||
DMModeInfoRec sModeInfo;
|
||||
sModeInfo.bMatched = false;
|
||||
sModeInfo.pMode = &mode;
|
||||
unsigned int i;
|
||||
for(i = 0; i < nNumModes; ++i)
|
||||
{
|
||||
DMModeInfoRec sModeInfo;
|
||||
sModeInfo.bMatched = false;
|
||||
sModeInfo.pMode = &mode;
|
||||
unsigned int i;
|
||||
for(i = 0; i < nNumModes; ++i)
|
||||
{
|
||||
err = DMGetIndexedDisplayModeFromList(pModes, i, NULL, uppMLI, &sModeInfo);
|
||||
wxASSERT(err == noErr);
|
||||
|
||||
if (sModeInfo.bMatched == true)
|
||||
{
|
||||
sMode = sModeInfo.sMode;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(i == nNumModes)
|
||||
return false;
|
||||
wxASSERT(err == noErr);
|
||||
|
||||
if (sModeInfo.bMatched)
|
||||
{
|
||||
sMode = sModeInfo.sMode;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(i == nNumModes)
|
||||
return false;
|
||||
|
||||
DisposeDMDisplayModeListIteratorUPP(uppMLI);
|
||||
|
||||
DisposeDMDisplayModeListIteratorUPP(uppMLI);
|
||||
|
||||
err = DMDisposeList(pModes);
|
||||
wxASSERT(err == noErr);
|
||||
|
||||
// For the really paranoid -
|
||||
// unsigned long flags;
|
||||
// Boolean bok;
|
||||
// wxASSERT(noErr == DMCheckDisplayMode(m_priv->m_hndl, sMode.csData,
|
||||
// sMode.csMode, &flags, NULL, &bok));
|
||||
// wxASSERT(bok);
|
||||
// For the really paranoid -
|
||||
// unsigned long flags;
|
||||
// Boolean bok;
|
||||
// wxASSERT(noErr == DMCheckDisplayMode(m_priv->m_hndl, sMode.csData,
|
||||
// sMode.csMode, &flags, NULL, &bok));
|
||||
// wxASSERT(bok);
|
||||
|
||||
Handle hDisplayState;
|
||||
if (DMBeginConfigureDisplays(&hDisplayState) != noErr)
|
||||
{
|
||||
wxLogSysError(wxT("Could not lock display for display mode changing!"));
|
||||
return false;
|
||||
}
|
||||
|
||||
unsigned long dwBPP = (unsigned long) mode.bpp;
|
||||
if (DMSetDisplayMode(m_priv->m_hndl, sMode.csData,
|
||||
(unsigned long*) &(dwBPP), NULL
|
||||
//(unsigned long) &sMode
|
||||
, hDisplayState
|
||||
) != noErr)
|
||||
{
|
||||
DMEndConfigureDisplays(hDisplayState);
|
||||
wxMessageBox(wxString::Format(wxT("Could not set the display mode")));
|
||||
Handle hDisplayState;
|
||||
if (DMBeginConfigureDisplays(&hDisplayState) != noErr)
|
||||
{
|
||||
wxLogSysError(wxT("Could not lock display for display mode changing!"));
|
||||
return false;
|
||||
}
|
||||
DMEndConfigureDisplays(hDisplayState);
|
||||
}
|
||||
|
||||
unsigned long dwBPP = (unsigned long) mode.bpp;
|
||||
if (DMSetDisplayMode(m_priv->m_hndl, sMode.csData,
|
||||
(unsigned long*) &(dwBPP), NULL
|
||||
//(unsigned long) &sMode
|
||||
, hDisplayState
|
||||
) != noErr)
|
||||
{
|
||||
DMEndConfigureDisplays(hDisplayState);
|
||||
wxMessageBox(wxString::Format(wxT("Could not set the display mode")));
|
||||
return false;
|
||||
}
|
||||
DMEndConfigureDisplays(hDisplayState);
|
||||
}
|
||||
else //DM 1.0, 1.2, 1.x
|
||||
{
|
||||
wxLogSysError(wxString::Format(wxT("Monitor gravitation not supported yet. dwDMVer:%u"),
|
||||
(unsigned int) dwDMVer));
|
||||
return false;
|
||||
wxLogSysError(wxString::Format(wxT("Monitor gravitation not supported yet. dwDMVer:%u"),
|
||||
(unsigned int) dwDMVer));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -43,11 +43,11 @@
|
||||
// control - i.e. native positioning and event handling etc..
|
||||
//---------------------------------------------------------------------------
|
||||
#ifndef wxUSE_CREATEMOVIECONTROL
|
||||
# if defined( __WXMAC_OSX__ ) && ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 )
|
||||
# define wxUSE_CREATEMOVIECONTROL 1
|
||||
# else
|
||||
# define wxUSE_CREATEMOVIECONTROL 0
|
||||
# endif
|
||||
# if defined( __WXMAC_OSX__ ) && ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 )
|
||||
# define wxUSE_CREATEMOVIECONTROL 1
|
||||
# else
|
||||
# define wxUSE_CREATEMOVIECONTROL 0
|
||||
# endif
|
||||
#endif
|
||||
|
||||
//===========================================================================
|
||||
@@ -87,11 +87,11 @@ public:
|
||||
wxQTMediaBackend();
|
||||
~wxQTMediaBackend();
|
||||
|
||||
virtual bool CreateControl(wxControl* ctrl, wxWindow* parent,
|
||||
virtual bool CreateControl(wxControl* ctrl, wxWindow* parent,
|
||||
wxWindowID id,
|
||||
const wxPoint& pos,
|
||||
const wxPoint& pos,
|
||||
const wxSize& size,
|
||||
long style,
|
||||
long style,
|
||||
const wxValidator& validator,
|
||||
const wxString& name);
|
||||
|
||||
@@ -127,14 +127,14 @@ public:
|
||||
bool m_bVideo; //Whether or not we have video
|
||||
class _wxQTTimer* m_timer; //Timer for streaming the movie
|
||||
|
||||
DECLARE_DYNAMIC_CLASS(wxQTMediaBackend);
|
||||
DECLARE_DYNAMIC_CLASS(wxQTMediaBackend)
|
||||
};
|
||||
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
//
|
||||
// wxQTMediaBackend
|
||||
//
|
||||
//
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxQTMediaBackend, wxMediaBackend);
|
||||
@@ -173,10 +173,10 @@ public:
|
||||
if (!m_bPaused)
|
||||
{
|
||||
if(!IsMovieDone(m_movie))
|
||||
MoviesTask(m_movie, MOVIE_DELAY);
|
||||
MoviesTask(m_movie, MOVIE_DELAY);
|
||||
else
|
||||
{
|
||||
wxMediaEvent theEvent(wxEVT_MEDIA_STOP,
|
||||
wxMediaEvent theEvent(wxEVT_MEDIA_STOP,
|
||||
m_parent->m_ctrl->GetId());
|
||||
m_parent->m_ctrl->ProcessEvent(theEvent);
|
||||
|
||||
@@ -187,7 +187,7 @@ public:
|
||||
wxASSERT(::GetMoviesError() == noErr);
|
||||
|
||||
//send the event to our child
|
||||
wxMediaEvent theEvent(wxEVT_MEDIA_FINISHED,
|
||||
wxMediaEvent theEvent(wxEVT_MEDIA_FINISHED,
|
||||
m_parent->m_ctrl->GetId());
|
||||
m_parent->m_ctrl->ProcessEvent(theEvent);
|
||||
}
|
||||
@@ -234,16 +234,16 @@ wxQTMediaBackend::~wxQTMediaBackend()
|
||||
// 1) Intializes QuickTime
|
||||
// 2) Creates the control window
|
||||
//---------------------------------------------------------------------------
|
||||
bool wxQTMediaBackend::CreateControl(wxControl* ctrl, wxWindow* parent,
|
||||
bool wxQTMediaBackend::CreateControl(wxControl* ctrl, wxWindow* parent,
|
||||
wxWindowID id,
|
||||
const wxPoint& pos,
|
||||
const wxPoint& pos,
|
||||
const wxSize& size,
|
||||
long style,
|
||||
long style,
|
||||
const wxValidator& validator,
|
||||
const wxString& name)
|
||||
{
|
||||
//Don't bother in Native control mode
|
||||
#if defined( __WXMAC__ ) && TARGET_API_MAC_OSX && ( MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_2 )
|
||||
#if defined( __WXMAC__ ) && TARGET_API_MAC_OSX && ( MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_2 )
|
||||
if (!_wxIsQuickTime4Installed())
|
||||
return false;
|
||||
#endif
|
||||
@@ -259,16 +259,16 @@ bool wxQTMediaBackend::CreateControl(wxControl* ctrl, wxWindow* parent,
|
||||
// backends, we don't need wxCLIP_CHILDREN
|
||||
//
|
||||
if ( !
|
||||
|
||||
#if wxUSE_CREATEMOVIECONTROL
|
||||
|
||||
#if wxUSE_CREATEMOVIECONTROL
|
||||
ctrl->wxWindow::Create(parent, id, pos, size,
|
||||
m_ctrl->MacRemoveBordersFromStyle(style),
|
||||
wxWindow::MacRemoveBordersFromStyle(style),
|
||||
name)
|
||||
#else
|
||||
ctrl->wxControl::Create(parent, id, pos, size,
|
||||
m_ctrl->MacRemoveBordersFromStyle(style),
|
||||
wxWindow::MacRemoveBordersFromStyle(style),
|
||||
validator, name)
|
||||
#endif
|
||||
#endif
|
||||
)
|
||||
return false;
|
||||
|
||||
@@ -297,15 +297,15 @@ bool wxQTMediaBackend::Load(const wxString& fileName)
|
||||
OSErr err = noErr;
|
||||
short movieResFile;
|
||||
FSSpec sfFile;
|
||||
|
||||
//FIXME:wxMacFilename2FSSpec crashes on empty string -
|
||||
|
||||
//FIXME:wxMacFilename2FSSpec crashes on empty string -
|
||||
//does it crash on other strings too and should this
|
||||
//"fix" be put in the carbon wxSound?
|
||||
if (fileName.empty())
|
||||
return false;
|
||||
|
||||
|
||||
wxMacFilename2FSSpec( fileName , &sfFile );
|
||||
|
||||
|
||||
if (OpenMovieFile (&sfFile, &movieResFile, fsRdPerm) != noErr)
|
||||
return false;
|
||||
|
||||
@@ -356,8 +356,8 @@ bool wxQTMediaBackend::Load(const wxURI& location)
|
||||
BlockMove(theURI.mb_str(), *theHandle, theURI.length() + 1);
|
||||
|
||||
//create the movie from the handle that refers to the URI
|
||||
err = NewMovieFromDataRef(&m_movie, newMovieActive,
|
||||
NULL, theHandle,
|
||||
err = NewMovieFromDataRef(&m_movie, newMovieActive,
|
||||
NULL, theHandle,
|
||||
URLDataHandlerSubType);
|
||||
|
||||
DisposeHandle(theHandle);
|
||||
@@ -405,26 +405,26 @@ void wxQTMediaBackend::FinishLoad()
|
||||
m_bestSize.y = outRect.bottom - outRect.top;
|
||||
|
||||
//reparent movie/*AudioMediaCharacteristic*/
|
||||
if(GetMovieIndTrackType(m_movie, 1,
|
||||
VisualMediaCharacteristic,
|
||||
movieTrackCharacteristic |
|
||||
if(GetMovieIndTrackType(m_movie, 1,
|
||||
VisualMediaCharacteristic,
|
||||
movieTrackCharacteristic |
|
||||
movieTrackEnabledOnly) != NULL)
|
||||
{
|
||||
#if wxUSE_CREATEMOVIECONTROL
|
||||
{
|
||||
#if wxUSE_CREATEMOVIECONTROL
|
||||
//
|
||||
//Native CreateMovieControl QT control (Thanks to Kevin Olliver's
|
||||
//wxQTMovie for some of this).
|
||||
//
|
||||
#define GetControlPeer(whatever) ctrl->m_peer
|
||||
wxMediaCtrl* ctrl = (wxMediaCtrl*) m_ctrl;
|
||||
Rect bounds = wxMacGetBoundsForControl(m_ctrl,
|
||||
Rect bounds = wxMacGetBoundsForControl(m_ctrl,
|
||||
m_ctrl->GetPosition(),
|
||||
m_ctrl->GetSize());
|
||||
|
||||
|
||||
//Dispose of old control for new one
|
||||
if (GetControlPeer(m_ctrl) && GetControlPeer(m_ctrl)->Ok() )
|
||||
GetControlPeer(m_ctrl)->Dispose();
|
||||
|
||||
|
||||
//Options-
|
||||
//kMovieControlOptionXXX
|
||||
//HideController - hide the movie controller
|
||||
@@ -433,29 +433,29 @@ void wxQTMediaBackend::FinishLoad()
|
||||
//HandleEditingHI- Installs event stuff for edit menu - forces EnableEditing also
|
||||
//SetKeysEnabled - Allows keyboard input
|
||||
//ManuallyIdled - app handles movie idling rather than internal timer event loop
|
||||
::CreateMovieControl(
|
||||
::CreateMovieControl(
|
||||
(WindowRef)
|
||||
ctrl->MacGetTopLevelWindowRef(), //parent
|
||||
&bounds, //control bounds
|
||||
m_movie, //movie handle
|
||||
kMovieControlOptionHideController
|
||||
| kMovieControlOptionLocateTopLeft
|
||||
| kMovieControlOptionSetKeysEnabled
|
||||
ctrl->MacGetTopLevelWindowRef(), //parent
|
||||
&bounds, //control bounds
|
||||
m_movie, //movie handle
|
||||
kMovieControlOptionHideController
|
||||
| kMovieControlOptionLocateTopLeft
|
||||
| kMovieControlOptionSetKeysEnabled
|
||||
// | kMovieControlOptionManuallyIdled
|
||||
, //flags
|
||||
, //flags
|
||||
ctrl->m_peer->GetControlRefAddr() );
|
||||
|
||||
|
||||
::EmbedControl(ctrl->m_peer->GetControlRef(), (ControlRef)ctrl->GetParent()->GetHandle());
|
||||
#else
|
||||
//
|
||||
//"Emulation"
|
||||
//
|
||||
SetMovieGWorld(m_movie,
|
||||
(CGrafPtr)
|
||||
SetMovieGWorld(m_movie,
|
||||
(CGrafPtr)
|
||||
GetWindowPort(
|
||||
(WindowRef)
|
||||
m_ctrl->MacGetTopLevelWindowRef()
|
||||
),
|
||||
),
|
||||
nil);
|
||||
#endif
|
||||
}
|
||||
@@ -518,7 +518,7 @@ bool wxQTMediaBackend::Stop()
|
||||
::StopMovie(m_movie);
|
||||
if(::GetMoviesError() != noErr)
|
||||
return false;
|
||||
|
||||
|
||||
::GoToBeginningOfMovie(m_movie);
|
||||
return ::GetMoviesError() == noErr;
|
||||
}
|
||||
@@ -593,11 +593,11 @@ wxLongLong wxQTMediaBackend::GetDuration()
|
||||
//---------------------------------------------------------------------------
|
||||
wxMediaState wxQTMediaBackend::GetState()
|
||||
{
|
||||
if ( !m_timer || (m_timer->IsRunning() == false &&
|
||||
if ( !m_timer || (m_timer->IsRunning() == false &&
|
||||
m_timer->GetPaused() == false) )
|
||||
return wxMEDIASTATE_STOPPED;
|
||||
|
||||
if( m_timer->IsRunning() == true )
|
||||
if( m_timer->IsRunning() )
|
||||
return wxMEDIASTATE_PLAYING;
|
||||
else
|
||||
return wxMEDIASTATE_PAUSED;
|
||||
@@ -613,8 +613,8 @@ void wxQTMediaBackend::Cleanup()
|
||||
{
|
||||
delete m_timer;
|
||||
m_timer = NULL;
|
||||
|
||||
#if wxUSE_CREATEMOVIECONTROL
|
||||
|
||||
#if wxUSE_CREATEMOVIECONTROL
|
||||
DisposeControl(((wxMediaCtrl*)m_ctrl)->m_peer->GetControlRef());
|
||||
#endif
|
||||
|
||||
@@ -635,19 +635,19 @@ wxSize wxQTMediaBackend::GetVideoSize() const
|
||||
//---------------------------------------------------------------------------
|
||||
// wxQTMediaBackend::Move
|
||||
//
|
||||
// We need to do this even when using native qt control because
|
||||
// We need to do this even when using native qt control because
|
||||
// CreateMovieControl is broken in this regard...
|
||||
//---------------------------------------------------------------------------
|
||||
void wxQTMediaBackend::Move(int x, int y, int w, int h)
|
||||
{
|
||||
#if !wxUSE_CREATEMOVIECONTROL
|
||||
#if !wxUSE_CREATEMOVIECONTROL
|
||||
if(m_timer)
|
||||
{
|
||||
if ( m_ctrl )
|
||||
{
|
||||
m_ctrl->GetParent()->MacWindowToRootWindow(&x, &y);
|
||||
}
|
||||
|
||||
|
||||
Rect theRect = {y, x, y+h, x+w};
|
||||
|
||||
::SetMovieBox(m_movie, &theRect);
|
||||
|
@@ -906,7 +906,7 @@ public:
|
||||
bool Exists(CFTypeRef cftKey) const
|
||||
{
|
||||
wxASSERT(IsValid());
|
||||
return CFDictionaryContainsKey((CFDictionaryRef)m_cfmdRef, cftKey) == true;
|
||||
return CFDictionaryContainsKey((CFDictionaryRef)m_cfmdRef, cftKey);
|
||||
}
|
||||
|
||||
bool IsOk() const {return m_cfmdRef != NULL; }
|
||||
@@ -1359,9 +1359,9 @@ void wxCFDictionary::MakeValidXML()
|
||||
cfdCurrent.MakeValidXML();
|
||||
Set(pKeys[i], cfdCurrent);
|
||||
}
|
||||
else if( ( CFGetTypeID(cfRef) == CFStringGetTypeID() ||
|
||||
CFGetTypeID(cfRef) == CFNumberGetTypeID() ||
|
||||
CFGetTypeID(cfRef) == CFBooleanGetTypeID() ) == false )
|
||||
else if ( CFGetTypeID(cfRef) != CFStringGetTypeID() &&
|
||||
CFGetTypeID(cfRef) != CFNumberGetTypeID() &&
|
||||
CFGetTypeID(cfRef) != CFBooleanGetTypeID() )
|
||||
{
|
||||
Remove(pKeys[i]);
|
||||
--i;
|
||||
@@ -1406,9 +1406,9 @@ void wxCFArray::MakeValidXML()
|
||||
cfdCurrent.MakeValidXML();
|
||||
Set(i, cfdCurrent);
|
||||
}
|
||||
else if( ( CFGetTypeID(cfRef) == CFStringGetTypeID() ||
|
||||
CFGetTypeID(cfRef) == CFNumberGetTypeID() ||
|
||||
CFGetTypeID(cfRef) == CFBooleanGetTypeID() ) == false )
|
||||
else if ( CFGetTypeID(cfRef) != CFStringGetTypeID() &&
|
||||
CFGetTypeID(cfRef) != CFNumberGetTypeID() &&
|
||||
CFGetTypeID(cfRef) != CFBooleanGetTypeID() )
|
||||
{
|
||||
Remove(i);
|
||||
--i;
|
||||
@@ -2006,4 +2006,4 @@ wxMimeTypesManagerImpl::Unassociate(wxFileType *pFileType)
|
||||
CFWriteStreamClose(cfwsInfo);
|
||||
|
||||
*/
|
||||
#endif //wxUSE_MIMETYPE
|
||||
#endif //wxUSE_MIMETYPE
|
||||
|
@@ -32,7 +32,7 @@ IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
|
||||
|
||||
#if wxMAC_USE_CARBON_TIMER
|
||||
|
||||
typedef struct MacTimerInfo
|
||||
struct MacTimerInfo
|
||||
{
|
||||
wxTimer* m_timer ;
|
||||
EventLoopTimerUPP m_proc ;
|
||||
@@ -44,9 +44,9 @@ static pascal void wxProcessTimer( EventLoopTimerRef theTimer , void *data )
|
||||
{
|
||||
if ( !data )
|
||||
return ;
|
||||
|
||||
|
||||
wxTimer* timer = (wxTimer*) data ;
|
||||
|
||||
|
||||
if ( timer->IsOneShot() )
|
||||
timer->Stop() ;
|
||||
|
||||
@@ -61,7 +61,7 @@ void wxTimer::Init()
|
||||
m_info->m_timerRef = kInvalidID ;
|
||||
}
|
||||
|
||||
bool wxTimer::IsRunning() const
|
||||
bool wxTimer::IsRunning() const
|
||||
{
|
||||
return ( m_info->m_timerRef != kInvalidID ) ;
|
||||
}
|
||||
@@ -79,8 +79,8 @@ bool wxTimer::Start(int milliseconds,bool mode)
|
||||
{
|
||||
(void)wxTimerBase::Start(milliseconds, mode);
|
||||
|
||||
wxCHECK_MSG( m_milli > 0, FALSE, wxT("invalid value for timer timeout") );
|
||||
wxCHECK_MSG( m_info->m_timerRef == NULL , FALSE, wxT("attempting to restart a timer") );
|
||||
wxCHECK_MSG( m_milli > 0, false, wxT("invalid value for timer timeout") );
|
||||
wxCHECK_MSG( m_info->m_timerRef == NULL , false, wxT("attempting to restart a timer") );
|
||||
|
||||
m_info->m_timer = this ;
|
||||
m_info->m_proc = NewEventLoopTimerUPP( &wxProcessTimer);
|
||||
@@ -91,13 +91,13 @@ bool wxTimer::Start(int milliseconds,bool mode)
|
||||
m_info->m_proc,
|
||||
this,
|
||||
&m_info->m_timerRef) ) ;
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
void wxTimer::Stop()
|
||||
{
|
||||
if (m_info->m_timerRef)
|
||||
RemoveEventLoopTimer( m_info->m_timerRef ) ;
|
||||
RemoveEventLoopTimer( m_info->m_timerRef ) ;
|
||||
if (m_info->m_proc)
|
||||
DisposeEventLoopTimerUPP(m_info->m_proc) ;
|
||||
m_info->m_proc = NULL ;
|
||||
@@ -122,7 +122,7 @@ static pascal void MacTimerProc( TMTask * t )
|
||||
}
|
||||
|
||||
// we need this array to track timers that are being deleted within the Notify procedure
|
||||
// adding the timer before the Notify call and checking after whether it still is in there
|
||||
// adding the timer before the Notify call and checking after whether it still is in there
|
||||
// as the destructor would have removed it from the array
|
||||
|
||||
wxArrayPtrVoid gTimersInProcess ;
|
||||
@@ -131,27 +131,27 @@ static void wxProcessTimer( unsigned long event , void *data )
|
||||
{
|
||||
if ( !data )
|
||||
return ;
|
||||
|
||||
|
||||
wxTimer* timer = (wxTimer*) data ;
|
||||
|
||||
|
||||
if ( timer->IsOneShot() )
|
||||
timer->Stop() ;
|
||||
|
||||
|
||||
gTimersInProcess.Add( timer ) ;
|
||||
|
||||
|
||||
timer->Notify();
|
||||
|
||||
int index = gTimersInProcess.Index( timer ) ;
|
||||
|
||||
|
||||
if ( index != wxNOT_FOUND )
|
||||
{
|
||||
gTimersInProcess.RemoveAt( index ) ;
|
||||
|
||||
|
||||
if ( !timer->IsOneShot() && timer->m_info->m_task.tmAddr )
|
||||
{
|
||||
PrimeTime( (QElemPtr) &timer->m_info->m_task , timer->GetInterval() ) ;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,7 +166,7 @@ void wxTimer::Init()
|
||||
m_info->m_timer = this ;
|
||||
}
|
||||
|
||||
bool wxTimer::IsRunning() const
|
||||
bool wxTimer::IsRunning() const
|
||||
{
|
||||
// as the qType may already indicate it is elapsed, but it
|
||||
// was not handled internally yet
|
||||
@@ -182,15 +182,15 @@ wxTimer::~wxTimer()
|
||||
}
|
||||
int index = gTimersInProcess.Index( this ) ;
|
||||
if ( index != wxNOT_FOUND )
|
||||
gTimersInProcess.RemoveAt( index ) ;
|
||||
gTimersInProcess.RemoveAt( index ) ;
|
||||
}
|
||||
|
||||
bool wxTimer::Start(int milliseconds,bool mode)
|
||||
{
|
||||
(void)wxTimerBase::Start(milliseconds, mode);
|
||||
|
||||
wxCHECK_MSG( m_milli > 0, FALSE, wxT("invalid value for timer timeout") );
|
||||
wxCHECK_MSG( m_info->m_task.tmAddr == NULL , FALSE, wxT("attempting to restart a timer") );
|
||||
wxCHECK_MSG( m_milli > 0, false, wxT("invalid value for timer timeout") );
|
||||
wxCHECK_MSG( m_info->m_task.tmAddr == NULL , false, wxT("attempting to restart a timer") );
|
||||
|
||||
m_info->m_task.tmAddr = NewTimerUPP( MacTimerProc ) ;
|
||||
m_info->m_task.tmWakeUp = 0 ;
|
||||
@@ -199,7 +199,7 @@ bool wxTimer::Start(int milliseconds,bool mode)
|
||||
m_info->m_timer = this ;
|
||||
InsXTime((QElemPtr) &m_info->m_task ) ;
|
||||
PrimeTime( (QElemPtr) &m_info->m_task , m_milli ) ;
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
void wxTimer::Stop()
|
||||
|
@@ -115,9 +115,9 @@ void wxFrame::Init()
|
||||
|
||||
//// Motif-specific
|
||||
m_frameShell = (WXWidget) NULL;
|
||||
m_mainWidget = (WXWidget) NULL;;
|
||||
m_workArea = (WXWidget) NULL;;
|
||||
m_clientArea = (WXWidget) NULL;;
|
||||
m_mainWidget = (WXWidget) NULL;
|
||||
m_workArea = (WXWidget) NULL;
|
||||
m_clientArea = (WXWidget) NULL;
|
||||
}
|
||||
|
||||
bool wxFrame::Create(wxWindow *parent,
|
||||
@@ -132,7 +132,7 @@ bool wxFrame::Create(wxWindow *parent,
|
||||
name ) )
|
||||
return false;
|
||||
|
||||
m_backgroundColour =
|
||||
m_backgroundColour =
|
||||
wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE);
|
||||
m_foregroundColour = *wxBLACK;
|
||||
m_font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
|
||||
@@ -358,7 +358,7 @@ void wxFrame::DoGetClientSize(int *x, int *y) const
|
||||
|
||||
//CE found a call here with NULL y pointer
|
||||
if (x)
|
||||
*x = xx;
|
||||
*x = xx;
|
||||
if (y)
|
||||
*y = yy;
|
||||
}
|
||||
|
@@ -324,7 +324,7 @@ bool wxBitmap::CopyFromIconOrCursor(const wxGDIImage& icon)
|
||||
unsigned char* pixels = dib.GetData();
|
||||
for (int idx=0; idx<w*h*4; idx+=4)
|
||||
{
|
||||
if (pixels[idx+3] != 0)
|
||||
if (pixels[idx+3] != 0)
|
||||
{
|
||||
// If there is an alpha byte that is non-zero then set the
|
||||
// alpha flag and bail out of the loop.
|
||||
@@ -341,7 +341,7 @@ bool wxBitmap::CopyFromIconOrCursor(const wxGDIImage& icon)
|
||||
// wxWin convention
|
||||
refData->SetMask(wxInvertMask(iconInfo.hbmMask, w, h));
|
||||
}
|
||||
|
||||
|
||||
// delete the old one now as we don't need it any more
|
||||
::DeleteObject(iconInfo.hbmMask);
|
||||
|
||||
@@ -905,7 +905,7 @@ bool wxBitmap::CreateFromImage(const wxImage& image, int depth, WXHDC hdc)
|
||||
SetMask(new wxMask((WXHBITMAP)hbitmap));
|
||||
}
|
||||
|
||||
delete data;
|
||||
delete[] data;
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -1250,7 +1250,7 @@ void *wxBitmap::GetRawData(wxPixelDataBase& data, int bpp)
|
||||
HBITMAP hDIB;
|
||||
if ( !GetBitmapData()->m_isDIB )
|
||||
{
|
||||
wxCHECK_MSG( !GetBitmapData()->m_dib, FALSE,
|
||||
wxCHECK_MSG( !GetBitmapData()->m_dib, NULL,
|
||||
_T("GetRawData() may be called only once") );
|
||||
|
||||
wxDIB *dib = new wxDIB(*this);
|
||||
@@ -1599,7 +1599,7 @@ bool wxCreateDIB(long xSize, long ySize, long bitsPerPixel,
|
||||
// this value must be 1, 4, 8 or 24 so PixelDepth can only be
|
||||
lpDIBheader->bmiHeader.biBitCount = (WORD)(bitsPerPixel);
|
||||
lpDIBheader->bmiHeader.biCompression = BI_RGB;
|
||||
lpDIBheader->bmiHeader.biSizeImage = xSize * abs(ySize) * bitsPerPixel >> 3;
|
||||
lpDIBheader->bmiHeader.biSizeImage = (xSize * abs(ySize) * bitsPerPixel) >> 3;
|
||||
lpDIBheader->bmiHeader.biClrUsed = 256;
|
||||
|
||||
|
||||
@@ -1655,7 +1655,7 @@ HICON wxBitmapToIconOrCursor(const wxBitmap& bmp,
|
||||
{
|
||||
mask = bmp.GetMask();
|
||||
}
|
||||
|
||||
|
||||
if ( !mask )
|
||||
{
|
||||
// we must have a mask for an icon, so even if it's probably incorrect,
|
||||
|
@@ -1420,7 +1420,7 @@ GSocketError GAddress_INET_SetHostAddress(GAddress *address,
|
||||
CHECK_ADDRESS(address, INET);
|
||||
|
||||
addr = &(((struct sockaddr_in *)address->m_addr)->sin_addr);
|
||||
addr->s_addr = htonl(hostaddr);;
|
||||
addr->s_addr = htonl(hostaddr);
|
||||
|
||||
return GSOCK_NOERROR;
|
||||
}
|
||||
|
@@ -603,7 +603,7 @@ int wxWindowsPrintDialog::ShowModal()
|
||||
|
||||
pd->hwndOwner = 0;
|
||||
|
||||
if ( ret != false && (pd->hDC) )
|
||||
if ( ret && (pd->hDC) )
|
||||
{
|
||||
wxPrinterDC *pdc = new wxPrinterDC( (WXHDC) pd->hDC );
|
||||
m_printerDC = pdc;
|
||||
|
@@ -88,7 +88,7 @@ void wxBitmapRefData::Free()
|
||||
// this function should be called from all wxBitmap ctors
|
||||
void wxBitmap::Init()
|
||||
{
|
||||
m_bIsMono = FALSE;
|
||||
m_bIsMono = false;
|
||||
//
|
||||
// True for all bitmaps created from bits, wxImages, Xpms
|
||||
//
|
||||
@@ -104,7 +104,7 @@ bool wxBitmap::CopyFromIconOrCursor(
|
||||
if (!::WinQueryPointerInfo(hIcon, &SIconInfo))
|
||||
{
|
||||
wxLogLastError(wxT("WinQueryPointerInfo"));
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
wxBitmapRefData* pRefData = new wxBitmapRefData;
|
||||
|
||||
@@ -124,7 +124,7 @@ bool wxBitmap::CopyFromIconOrCursor(
|
||||
pMask->SetMaskBitmap(GetHBITMAP());
|
||||
SetMask(pMask);
|
||||
|
||||
return(TRUE);
|
||||
return true;
|
||||
} // end of wxBitmap::CopyFromIconOrCursor
|
||||
|
||||
bool wxBitmap::CopyFromCursor(
|
||||
@@ -134,7 +134,7 @@ bool wxBitmap::CopyFromCursor(
|
||||
UnRef();
|
||||
|
||||
if (!rCursor.Ok())
|
||||
return(FALSE);
|
||||
return(false);
|
||||
return(CopyFromIconOrCursor(rCursor));
|
||||
} // end of wxBitmap::CopyFromCursor
|
||||
|
||||
@@ -145,7 +145,7 @@ bool wxBitmap::CopyFromIcon(
|
||||
UnRef();
|
||||
|
||||
if (!rIcon.Ok())
|
||||
return(FALSE);
|
||||
return(false);
|
||||
|
||||
return CopyFromIconOrCursor(rIcon);
|
||||
} // end of wxBitmap::CopyFromIcon
|
||||
@@ -334,7 +334,7 @@ bool wxBitmap::Create(
|
||||
HPS hPS = ::GpiCreatePS(vHabmain, hDC, &vSize, PU_PELS | GPIA_ASSOC);
|
||||
|
||||
if (nD == 1)
|
||||
m_bIsMono = TRUE;
|
||||
m_bIsMono = true;
|
||||
memset(&vHeader, '\0', 16);
|
||||
vHeader.cbFix = 16;
|
||||
vHeader.cx = nW;
|
||||
@@ -393,17 +393,17 @@ bool wxBitmap::CreateFromXpm(
|
||||
#if wxUSE_IMAGE && wxUSE_XPM
|
||||
Init();
|
||||
|
||||
wxCHECK_MSG(ppData != NULL, FALSE, wxT("invalid bitmap data"))
|
||||
wxCHECK_MSG(ppData != NULL, false, wxT("invalid bitmap data"))
|
||||
|
||||
wxXPMDecoder vDecoder;
|
||||
wxImage vImg = vDecoder.ReadData(ppData);
|
||||
|
||||
wxCHECK_MSG(vImg.Ok(), FALSE, wxT("invalid bitmap data"))
|
||||
wxCHECK_MSG(vImg.Ok(), false, wxT("invalid bitmap data"))
|
||||
|
||||
*this = wxBitmap(vImg);
|
||||
return TRUE;
|
||||
return true;
|
||||
#else
|
||||
return FALSE;
|
||||
return false;
|
||||
#endif
|
||||
} // end of wxBitmap::CreateFromXpm
|
||||
|
||||
@@ -431,7 +431,7 @@ bool wxBitmap::LoadFile(
|
||||
}
|
||||
else
|
||||
{
|
||||
return(FALSE);
|
||||
return false;
|
||||
}
|
||||
} // end of wxBitmap::LoadFile
|
||||
|
||||
@@ -453,7 +453,7 @@ bool wxBitmap::Create(
|
||||
{
|
||||
wxLogDebug(wxT("Failed to create bitmap: no bitmap handler for type %ld defined."), lType);
|
||||
|
||||
return(FALSE);
|
||||
return false;
|
||||
}
|
||||
|
||||
m_refData = new wxBitmapRefData;
|
||||
@@ -491,7 +491,7 @@ bool wxBitmap::SaveFile(
|
||||
wxImage vImage = ConvertToImage();
|
||||
|
||||
if (!vImage.Ok())
|
||||
return(FALSE);
|
||||
return false;
|
||||
|
||||
return(vImage.SaveFile( rFilename
|
||||
,lType
|
||||
@@ -509,7 +509,7 @@ bool wxBitmap::CreateFromImage (
|
||||
, int nDepth
|
||||
)
|
||||
{
|
||||
wxCHECK_MSG(rImage.Ok(), FALSE, wxT("invalid image"));
|
||||
wxCHECK_MSG(rImage.Ok(), false, wxT("invalid image"));
|
||||
m_refData = new wxBitmapRefData();
|
||||
|
||||
int nSizeLimit = 1024 * 768 * 3;
|
||||
@@ -546,13 +546,13 @@ bool wxBitmap::CreateFromImage (
|
||||
//
|
||||
// Set bitmap parameters
|
||||
//
|
||||
wxCHECK_MSG(rImage.Ok(), FALSE, wxT("invalid image"));
|
||||
wxCHECK_MSG(rImage.Ok(), false, wxT("invalid image"));
|
||||
SetWidth(nWidth);
|
||||
SetHeight(nBmpHeight);
|
||||
if (nDepth == 1)
|
||||
m_bIsMono = TRUE;
|
||||
m_bIsMono = true;
|
||||
else
|
||||
m_bIsMono = FALSE;
|
||||
m_bIsMono = false;
|
||||
if (nDepth == -1)
|
||||
nDepth = wxDisplayDepth();
|
||||
SetDepth(nDepth);
|
||||
@@ -589,7 +589,7 @@ bool wxBitmap::CreateFromImage (
|
||||
if(!pucBits)
|
||||
{
|
||||
wxFAIL_MSG(wxT("could not allocate memory for DIB"));
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
memset(pucBits, '\0', (nBytePerLine * nHeight));
|
||||
|
||||
@@ -829,7 +829,7 @@ bool wxBitmap::CreateFromImage (
|
||||
::DevCloseDC(hDCScreen);
|
||||
::DevCloseDC(hDC);
|
||||
free(pucBits);
|
||||
return TRUE;
|
||||
return true;
|
||||
} // end of wxBitmap::CreateFromImage
|
||||
|
||||
wxImage wxBitmap::ConvertToImage() const
|
||||
@@ -860,7 +860,7 @@ wxImage wxBitmap::ConvertToImage() const
|
||||
HBITMAP hOldBitmap;
|
||||
DEVOPENSTRUC vDop = {0L, "DISPLAY", NULL, 0L, 0L, 0L, 0L, 0L, 0L};
|
||||
SIZEL vSizlPage = {0,0};
|
||||
HDC hDCMem = NULLHANDLE;;
|
||||
HDC hDCMem = NULLHANDLE;
|
||||
|
||||
vImage.Create( nWidth
|
||||
,nHeight
|
||||
@@ -1044,11 +1044,11 @@ wxImage wxBitmap::ConvertToImage() const
|
||||
,ucGreen
|
||||
,ucBlue
|
||||
);
|
||||
vImage.SetMask(TRUE);
|
||||
vImage.SetMask(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
vImage.SetMask(FALSE);
|
||||
vImage.SetMask(false);
|
||||
}
|
||||
|
||||
//
|
||||
@@ -1261,7 +1261,7 @@ bool wxMask::Create(
|
||||
}
|
||||
if (!rBitmap.Ok() || rBitmap.GetDepth() != 1)
|
||||
{
|
||||
return(FALSE);
|
||||
return false;
|
||||
}
|
||||
|
||||
memset(&vBmih, '\0', sizeof(BITMAPINFOHEADER2));
|
||||
@@ -1292,7 +1292,7 @@ bool wxMask::Create(
|
||||
::GpiDestroyPS(hPSDst);
|
||||
::DevCloseDC(hDCSrc);
|
||||
::DevCloseDC(hDCDst);
|
||||
return(TRUE);
|
||||
return true;
|
||||
} // end of wxMask::Create
|
||||
|
||||
// Create a mask from a bitmap and a palette index indicating
|
||||
@@ -1329,7 +1329,7 @@ bool wxMask::Create(
|
||||
));
|
||||
}
|
||||
}
|
||||
return(FALSE);
|
||||
return false;
|
||||
} // end of wxMask::Create
|
||||
|
||||
// Create a mask from a bitmap and a colour indicating
|
||||
@@ -1339,7 +1339,7 @@ bool wxMask::Create(
|
||||
, const wxColour& rColour
|
||||
)
|
||||
{
|
||||
bool bOk = TRUE;
|
||||
bool bOk = true;
|
||||
COLORREF vMaskColour = OS2RGB( rColour.Red()
|
||||
,rColour.Green()
|
||||
,rColour.Blue()
|
||||
@@ -1359,7 +1359,7 @@ bool wxMask::Create(
|
||||
}
|
||||
if (!rBitmap.Ok())
|
||||
{
|
||||
return(FALSE);
|
||||
return false;
|
||||
}
|
||||
|
||||
//
|
||||
@@ -1400,7 +1400,7 @@ bool wxMask::Create(
|
||||
//
|
||||
// Doesn't make sense to continue
|
||||
//
|
||||
bOk = FALSE;
|
||||
bOk = false;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1422,7 +1422,7 @@ bool wxMask::Create(
|
||||
::GpiDestroyPS(hPSDst);
|
||||
::DevCloseDC(hDCSrc);
|
||||
::DevCloseDC(hDCDst);
|
||||
return(TRUE);
|
||||
return true;
|
||||
} // end of wxMask::Create
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -1447,7 +1447,7 @@ bool wxBitmapHandler::Create(
|
||||
,nWidth
|
||||
,nHeight
|
||||
,nDepth
|
||||
) : FALSE);
|
||||
) : false);
|
||||
}
|
||||
|
||||
bool wxBitmapHandler::Load(
|
||||
@@ -1467,7 +1467,7 @@ bool wxBitmapHandler::Load(
|
||||
,lFlags
|
||||
,nWidth
|
||||
,nHeight
|
||||
) : FALSE);
|
||||
) : false);
|
||||
}
|
||||
|
||||
bool wxBitmapHandler::Save(
|
||||
@@ -1483,7 +1483,7 @@ bool wxBitmapHandler::Save(
|
||||
return(pBitmap ? SaveFile( pBitmap
|
||||
,rName
|
||||
,lType
|
||||
) : FALSE);
|
||||
) : false);
|
||||
}
|
||||
|
||||
bool wxBitmapHandler::Create(
|
||||
@@ -1495,7 +1495,7 @@ bool wxBitmapHandler::Create(
|
||||
, int WXUNUSED(nDepth)
|
||||
)
|
||||
{
|
||||
return(FALSE);
|
||||
return false;
|
||||
}
|
||||
|
||||
bool wxBitmapHandler::LoadFile(
|
||||
@@ -1506,7 +1506,7 @@ bool wxBitmapHandler::LoadFile(
|
||||
, int WXUNUSED(nDesiredHeight)
|
||||
)
|
||||
{
|
||||
return(FALSE);
|
||||
return false;
|
||||
}
|
||||
|
||||
bool wxBitmapHandler::SaveFile(
|
||||
@@ -1516,7 +1516,7 @@ bool wxBitmapHandler::SaveFile(
|
||||
, const wxPalette* WXUNUSED(pPalette)
|
||||
)
|
||||
{
|
||||
return(FALSE);
|
||||
return false;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
@@ -1294,7 +1294,7 @@ void wxDC::DoDrawBitmap(
|
||||
if (!IsKindOf(CLASSINFO(wxPrinterDC)))
|
||||
{
|
||||
HBITMAP hBitmap = (HBITMAP)rBmp.GetHBITMAP();
|
||||
HBITMAP hBitmapOld = NULLHANDLE;;
|
||||
HBITMAP hBitmapOld = NULLHANDLE;
|
||||
POINTL vPoint[4];
|
||||
|
||||
vY = OS2Y(vY,rBmp.GetHeight());
|
||||
|
@@ -120,7 +120,7 @@ bool CIDropTarget::DragLeave()
|
||||
// Release the held object
|
||||
//
|
||||
Free();
|
||||
return TRUE;
|
||||
return true;
|
||||
} // end of CIDropTarget::DragLeave
|
||||
|
||||
MRESULT CIDropTarget::DragOver ()
|
||||
@@ -250,7 +250,7 @@ MRESULT CIDropTarget::Drop ()
|
||||
,m_pDragInfo->yDrop
|
||||
))
|
||||
{
|
||||
wxDragResult eRc = wxDragNone;;
|
||||
wxDragResult eRc = wxDragNone;
|
||||
|
||||
//
|
||||
// And now it has the data
|
||||
@@ -260,7 +260,7 @@ MRESULT CIDropTarget::Drop ()
|
||||
,eRc
|
||||
);
|
||||
}
|
||||
//else: OnDrop() returned FALSE, no need to copy data
|
||||
//else: OnDrop() returned false, no need to copy data
|
||||
|
||||
//
|
||||
// Release the held object
|
||||
@@ -292,12 +292,12 @@ bool wxDropTarget::GetData ()
|
||||
|
||||
if (vFormat == wxDF_INVALID)
|
||||
{
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
//
|
||||
// Under OS/2 we already have the data via the attached DRAGITEM's
|
||||
//
|
||||
return TRUE;
|
||||
return true;
|
||||
} // end of wxDropTarget::GetData
|
||||
|
||||
wxDataFormat wxDropTarget::GetSupportedFormat (
|
||||
@@ -313,7 +313,7 @@ wxDataFormat wxDropTarget::GetSupportedFormat (
|
||||
ULONG n;
|
||||
wxString sMechanism;
|
||||
wxString sFormat;
|
||||
bool bValid = FALSE;
|
||||
bool bValid = false;
|
||||
|
||||
pFormats = ulFormats == 1 ? &vFormat : new wxDataFormat[ulFormats];
|
||||
m_dataObject->GetAllFormats( pFormats
|
||||
@@ -387,7 +387,7 @@ wxDataFormat wxDropTarget::GetSupportedFormat (
|
||||
pDragItem = ::DrgQueryDragitemPtr(pDataSource, i);
|
||||
if (::DrgVerifyRMF(pDragItem, (PSZ)sMechanism.c_str(), (PSZ)sFormat.c_str()))
|
||||
{
|
||||
bValid = TRUE;
|
||||
bValid = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -434,7 +434,7 @@ bool wxDropTarget::OnDrop (
|
||||
, wxCoord WXUNUSED(y)
|
||||
)
|
||||
{
|
||||
return TRUE;
|
||||
return true;
|
||||
} // end of wxDropTarget::OnDrop
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
@@ -525,11 +525,11 @@ bool wxDropSource::GiveFeedback (
|
||||
case wxDragError:
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
} // end of GuiAdvDnd_CDropSource::GiveFeedback
|
||||
|
||||
|
@@ -790,7 +790,7 @@ void wxRadioBox::GetPosition(
|
||||
) const
|
||||
{
|
||||
wxWindowOS2* pParent = GetParent();
|
||||
RECT vRect = { -1, -1, -1, -1 };;
|
||||
RECT vRect = { -1, -1, -1, -1 };
|
||||
POINTL vPoint;
|
||||
int i;
|
||||
|
||||
|
@@ -103,7 +103,7 @@ public:
|
||||
// add a new verb with the command or replace the old value
|
||||
void AddOrReplaceVerb(const wxString& verb, const wxString& cmd)
|
||||
{
|
||||
int n = m_verbs.Index(verb, FALSE /* ignore case */);
|
||||
int n = m_verbs.Index(verb, false /* ignore case */);
|
||||
if ( n == wxNOT_FOUND )
|
||||
{
|
||||
m_verbs.Add(verb);
|
||||
@@ -165,7 +165,7 @@ public:
|
||||
wxMimeTextFile () : wxTextFile () {};
|
||||
wxMimeTextFile (const wxString& strFile) : wxTextFile (strFile) { };
|
||||
|
||||
int pIndexOf(const wxString & sSearch, bool bIncludeComments = FALSE, int iStart = 0)
|
||||
int pIndexOf(const wxString & sSearch, bool bIncludeComments = false, int iStart = 0)
|
||||
{
|
||||
size_t i = iStart;
|
||||
int nResult = wxNOT_FOUND;
|
||||
@@ -203,19 +203,19 @@ public:
|
||||
|
||||
bool CommentLine(int nIndex)
|
||||
{
|
||||
if (nIndex <0) return FALSE;
|
||||
if (nIndex >= (int)GetLineCount() ) return FALSE;
|
||||
if (nIndex <0) return false;
|
||||
if (nIndex >= (int)GetLineCount() ) return false;
|
||||
GetLine(nIndex) = GetLine(nIndex).Prepend(wxT("#"));
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CommentLine(const wxString & sTest)
|
||||
{
|
||||
int nIndex = pIndexOf(sTest);
|
||||
if (nIndex <0) return FALSE;
|
||||
if (nIndex >= (int)GetLineCount() ) return FALSE;
|
||||
if (nIndex <0) return false;
|
||||
if (nIndex >= (int)GetLineCount() ) return false;
|
||||
GetLine(nIndex) = GetLine(nIndex).Prepend(wxT("#"));
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
wxString GetVerb (size_t i)
|
||||
@@ -368,7 +368,7 @@ bool wxMimeTypesManagerImpl::CheckGnomeDirsExist ()
|
||||
if (!wxMkdir ( sTmp ))
|
||||
{
|
||||
wxLogError(_("Failed to create directory %s/.gnome."), sTmp.c_str());
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
sTmp = sTmp + wxT("/mime-info");
|
||||
@@ -377,10 +377,10 @@ bool wxMimeTypesManagerImpl::CheckGnomeDirsExist ()
|
||||
if (!wxMkdir ( sTmp ))
|
||||
{
|
||||
wxLogError(_("Failed to create directory %s/mime-info."), sTmp.c_str());
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
@@ -401,8 +401,8 @@ bool wxMimeTypesManagerImpl::WriteGnomeKeyFile(int index, bool delete_index)
|
||||
if (! outfile.Open () )
|
||||
#endif
|
||||
{
|
||||
if (delete_index) return FALSE;
|
||||
if (!CheckGnomeDirsExist() ) return FALSE;
|
||||
if (delete_index) return false;
|
||||
if (!CheckGnomeDirsExist() ) return false;
|
||||
outfile.Create ();
|
||||
}
|
||||
|
||||
@@ -434,8 +434,8 @@ bool wxMimeTypesManagerImpl::WriteGnomeKeyFile(int index, bool delete_index)
|
||||
|
||||
wxMimeTypeCommands sOld;
|
||||
size_t nOld = nIndex + 1;
|
||||
bool oldEntryEnd = FALSE;
|
||||
while ( (nOld < outfile.GetLineCount() )&& (oldEntryEnd == FALSE ))
|
||||
bool oldEntryEnd = false;
|
||||
while ( (nOld < outfile.GetLineCount() )&& (!oldEntryEnd))
|
||||
{
|
||||
sTmp = outfile.GetLine(nOld);
|
||||
if ( (sTmp[0u] == wxT('\t')) || (sTmp[0u] == wxT('#')) )
|
||||
@@ -449,7 +449,7 @@ bool wxMimeTypesManagerImpl::WriteGnomeKeyFile(int index, bool delete_index)
|
||||
}
|
||||
// next mimetpye ??or blank line
|
||||
else
|
||||
oldEntryEnd = TRUE;
|
||||
oldEntryEnd = true;
|
||||
}
|
||||
// list of entries in our data; these should all be in sOld,
|
||||
// though sOld may also contain other entries , eg flags
|
||||
@@ -491,8 +491,8 @@ bool wxMimeTypesManagerImpl::WriteGnomeMimeFile(int index, bool delete_index)
|
||||
// create it anyway as a private mime store
|
||||
if (! outfile.Open () )
|
||||
{
|
||||
if (delete_index) return FALSE;
|
||||
if (!CheckGnomeDirsExist() ) return FALSE;
|
||||
if (delete_index) return false;
|
||||
if (!CheckGnomeDirsExist() ) return false;
|
||||
outfile.Create ();
|
||||
}
|
||||
wxString strType = m_aTypes[index];
|
||||
@@ -572,7 +572,7 @@ void wxMimeTypesManagerImpl::LoadGnomeDataFromKeyFile(const wxString& filename,
|
||||
else if (sTmp.Contains( wxT("icon_filename=") ) )
|
||||
{
|
||||
curIconFile = sTmp.AfterFirst(wxT('='));
|
||||
|
||||
|
||||
if (!wxFileExists(curIconFile))
|
||||
{
|
||||
size_t nDirs = dirs.GetCount();
|
||||
@@ -603,7 +603,7 @@ void wxMimeTypesManagerImpl::LoadGnomeDataFromKeyFile(const wxString& filename,
|
||||
// for now ignore lines with flags in...FIX
|
||||
sTmp = sTmp.AfterLast(wxT(']'));
|
||||
sTmp = sTmp.AfterLast(wxT('\t'));
|
||||
sTmp.Trim(FALSE).Trim();
|
||||
sTmp.Trim(false).Trim();
|
||||
if (0 == sTmp.Replace ( wxT("%f"), wxT("%s") )) sTmp = sTmp + wxT(" %s");
|
||||
entry->Add(sTmp);
|
||||
|
||||
@@ -631,7 +631,7 @@ void wxMimeTypesManagerImpl::LoadGnomeDataFromKeyFile(const wxString& filename,
|
||||
// ignore blank lines
|
||||
nLine ++;
|
||||
} // end of while, save any data
|
||||
|
||||
|
||||
if (! curMimeType.empty())
|
||||
AddToMimeData ( curMimeType, curIconFile, entry, strExtensions, strDesc);
|
||||
}
|
||||
@@ -673,12 +673,12 @@ void wxMimeTypesManagerImpl::LoadGnomeMimeTypesFromMimeFile(const wxString& file
|
||||
if ( !pc || !*pc )
|
||||
{
|
||||
// end of the entry
|
||||
if ( !!curMimeType && !!curExtList )
|
||||
if ( !curMimeType.empty() && !curExtList.empty() )
|
||||
{
|
||||
wxLogTrace(TRACE_MIME,
|
||||
wxT("--- At end of Gnome file finding mimetype %s ---"),
|
||||
curMimeType.c_str());
|
||||
|
||||
|
||||
AddMimeTypeInfo(curMimeType, curExtList, wxEmptyString);
|
||||
}
|
||||
|
||||
@@ -731,12 +731,12 @@ void wxMimeTypesManagerImpl::LoadGnomeMimeTypesFromMimeFile(const wxString& file
|
||||
void wxMimeTypesManagerImpl::LoadGnomeMimeFilesFromDir(
|
||||
const wxString& dirbase, const wxArrayString& dirs)
|
||||
{
|
||||
wxASSERT_MSG( !!dirbase && !wxEndsWithPathSeparator(dirbase),
|
||||
wxASSERT_MSG( !dirbase.empty() && !wxEndsWithPathSeparator(dirbase),
|
||||
_T("base directory shouldn't end with a slash") );
|
||||
|
||||
wxString dirname = dirbase;
|
||||
dirname << wxT("/mime-info");
|
||||
|
||||
|
||||
if ( !wxDir::Exists(dirname) )
|
||||
return;
|
||||
|
||||
@@ -769,16 +769,16 @@ void wxMimeTypesManagerImpl::LoadGnomeMimeFilesFromDir(
|
||||
// mime-type from the file name.
|
||||
dirname = dirbase;
|
||||
dirname << wxT("/pixmaps/document-icons");
|
||||
|
||||
|
||||
// these are always empty in this file
|
||||
wxArrayString strExtensions;
|
||||
wxString strDesc;
|
||||
|
||||
|
||||
if ( !wxDir::Exists(dirname) )
|
||||
{
|
||||
// Jst test for default GPE dir also
|
||||
dirname = wxT("/usr/share/gpe/pixmaps/default/filemanager/document-icons");
|
||||
|
||||
|
||||
if ( !wxDir::Exists(dirname) )
|
||||
return;
|
||||
}
|
||||
@@ -798,7 +798,7 @@ void wxMimeTypesManagerImpl::LoadGnomeMimeFilesFromDir(
|
||||
wxString iconFile = dirname;
|
||||
iconFile << wxT("/");
|
||||
iconFile << filename;
|
||||
AddToMimeData ( mimeType, iconFile, NULL, strExtensions, strDesc, TRUE );
|
||||
AddToMimeData ( mimeType, iconFile, NULL, strExtensions, strDesc, true );
|
||||
}
|
||||
|
||||
cont = dir2.GetNext(&filename);
|
||||
@@ -808,7 +808,7 @@ void wxMimeTypesManagerImpl::LoadGnomeMimeFilesFromDir(
|
||||
void wxMimeTypesManagerImpl::GetGnomeMimeInfo(const wxString& sExtraDir)
|
||||
{
|
||||
wxArrayString dirs;
|
||||
|
||||
|
||||
wxString gnomedir = wxGetenv( wxT("GNOMEDIR") );;
|
||||
if (!gnomedir.empty())
|
||||
{
|
||||
@@ -818,11 +818,11 @@ void wxMimeTypesManagerImpl::GetGnomeMimeInfo(const wxString& sExtraDir)
|
||||
|
||||
dirs.Add(wxT("/usr/share"));
|
||||
dirs.Add(wxT("/usr/local/share"));
|
||||
|
||||
|
||||
gnomedir = wxGetHomeDir();
|
||||
gnomedir << wxT("/.gnome");
|
||||
dirs.Add( gnomedir );
|
||||
|
||||
|
||||
if (!sExtraDir.empty()) dirs.Add( sExtraDir );
|
||||
|
||||
size_t nDirs = dirs.GetCount();
|
||||
@@ -855,9 +855,9 @@ bool wxMimeTypesManagerImpl::CheckKDEDirsExist ( const wxString &sOK, const wxSt
|
||||
if (sTest.empty())
|
||||
{
|
||||
if (wxDir::Exists(sOK))
|
||||
return TRUE;
|
||||
return true;
|
||||
else
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -883,7 +883,7 @@ bool wxMimeTypesManagerImpl::WriteKDEMimeFile(int index, bool delete_index)
|
||||
{
|
||||
bTemp = mimeoutfile.Create (sTmp);
|
||||
// some unknown error eg out of disk space
|
||||
if (!bTemp) return FALSE;
|
||||
if (!bTemp) return false;
|
||||
}
|
||||
|
||||
sTmp = wxT(".kde/share/applnk/");
|
||||
@@ -896,7 +896,7 @@ bool wxMimeTypesManagerImpl::WriteKDEMimeFile(int index, bool delete_index)
|
||||
{
|
||||
bTemp = appoutfile.Create (sTmp);
|
||||
// some unknown error eg out of disk space
|
||||
if (!bTemp) return FALSE;
|
||||
if (!bTemp) return false;
|
||||
}
|
||||
|
||||
// fixed data; write if new file
|
||||
@@ -965,10 +965,10 @@ bool wxMimeTypesManagerImpl::WriteKDEMimeFile(int index, bool delete_index)
|
||||
//other actions as well as open
|
||||
|
||||
}
|
||||
bTemp = FALSE;
|
||||
if (mimeoutfile.Write ()) bTemp = TRUE;
|
||||
bTemp = false;
|
||||
if (mimeoutfile.Write ()) bTemp = true;
|
||||
mimeoutfile.Close ();
|
||||
if (appoutfile.Write ()) bTemp = TRUE;
|
||||
if (appoutfile.Write ()) bTemp = true;
|
||||
appoutfile.Close ();
|
||||
|
||||
return bTemp;
|
||||
@@ -984,7 +984,7 @@ void wxMimeTypesManagerImpl::LoadKDELinksForMimeSubtype(const wxString& dirbase,
|
||||
|
||||
wxLogTrace(TRACE_MIME, wxT("loading KDE file %s"),
|
||||
(dirbase+filename).c_str());
|
||||
|
||||
|
||||
wxMimeTypeCommands * entry = new wxMimeTypeCommands;
|
||||
wxArrayString sExts;
|
||||
wxString mimetype, mime_desc, strIcon;
|
||||
@@ -1028,7 +1028,7 @@ void wxMimeTypesManagerImpl::LoadKDELinksForMimeSubtype(const wxString& dirbase,
|
||||
nIndex = file.pIndexOf(_T("Patterns="));
|
||||
if ( nIndex != wxNOT_FOUND )
|
||||
{
|
||||
wxString exts = file.GetCmd (nIndex);;
|
||||
wxString exts = file.GetCmd (nIndex);
|
||||
|
||||
wxStringTokenizer tokenizer(exts, _T(";"));
|
||||
while ( tokenizer.HasMoreTokens() )
|
||||
@@ -1056,8 +1056,8 @@ void wxMimeTypesManagerImpl::LoadKDELinksForMimeSubtype(const wxString& dirbase,
|
||||
strIcon = file.GetCmd(nIndex);
|
||||
wxLogTrace(TRACE_MIME, wxT(" icon %s"), strIcon.c_str());
|
||||
//it could be the real path, but more often a short name
|
||||
|
||||
|
||||
|
||||
|
||||
if (!wxFileExists(strIcon))
|
||||
{
|
||||
// icon is just the short name
|
||||
@@ -1116,7 +1116,7 @@ void wxMimeTypesManagerImpl::LoadKDELinksForMimeType(const wxString& dirbase,
|
||||
|
||||
wxLogTrace(TRACE_MIME, wxT("--- Loading from KDE directory %s ---"),
|
||||
dirname.c_str());
|
||||
|
||||
|
||||
dirname += _T('/');
|
||||
|
||||
wxString filename;
|
||||
@@ -1140,7 +1140,7 @@ void wxMimeTypesManagerImpl::LoadKDELinksForMimeType(const wxString& dirbase,
|
||||
void wxMimeTypesManagerImpl::LoadKDELinkFilesFromDir(const wxString& dirbase,
|
||||
const wxArrayString& icondirs)
|
||||
{
|
||||
wxASSERT_MSG( !!dirbase && !wxEndsWithPathSeparator(dirbase),
|
||||
wxASSERT_MSG( !dirbase.empty() && !wxEndsWithPathSeparator(dirbase),
|
||||
_T("base directory shouldn't end with a slash") );
|
||||
|
||||
wxString dirname = dirbase;
|
||||
@@ -1183,10 +1183,10 @@ void wxMimeTypesManagerImpl::GetKDEMimeInfo(const wxString& sExtraDir)
|
||||
// code should give up if KDEDIR(S) is not set and/or the icon
|
||||
// theme cannot be determined, because it means that the user is
|
||||
// not using KDE (and thus is not interested in KDE icons anyway)
|
||||
|
||||
|
||||
// the variable $KDEDIR is set when KDE is running
|
||||
wxString kdedir = wxGetenv( wxT("KDEDIR") );
|
||||
|
||||
|
||||
if (!kdedir.empty())
|
||||
{
|
||||
// $(KDEDIR)/share/config/kdeglobals holds info
|
||||
@@ -1195,7 +1195,7 @@ void wxMimeTypesManagerImpl::GetKDEMimeInfo(const wxString& sExtraDir)
|
||||
configFile.AppendDir( wxT("share") );
|
||||
configFile.AppendDir( wxT("config") );
|
||||
configFile.SetName( wxT("kdeglobals") );
|
||||
|
||||
|
||||
wxTextFile config;
|
||||
if (configFile.FileExists() && config.Open(configFile.GetFullPath()))
|
||||
{
|
||||
@@ -1223,39 +1223,39 @@ void wxMimeTypesManagerImpl::GetKDEMimeInfo(const wxString& sExtraDir)
|
||||
// $(KDEDIR)/share/icons -> $(KDEDIR)/share/icons/default.kde
|
||||
configFile.AppendDir( wxT("default.kde") );
|
||||
}
|
||||
|
||||
|
||||
configFile.SetName( wxEmptyString );
|
||||
configFile.AppendDir( wxT("32x32") );
|
||||
configFile.AppendDir( wxT("mimetypes") );
|
||||
|
||||
|
||||
// Just try a few likely icons theme names
|
||||
|
||||
|
||||
int pos = configFile.GetDirCount()-3;
|
||||
|
||||
|
||||
if (!wxDir::Exists(configFile.GetPath()))
|
||||
{
|
||||
configFile.RemoveDir( pos );
|
||||
configFile.InsertDir( pos, wxT("default.kde") );
|
||||
}
|
||||
|
||||
|
||||
if (!wxDir::Exists(configFile.GetPath()))
|
||||
{
|
||||
configFile.RemoveDir( pos );
|
||||
configFile.InsertDir( pos, wxT("default") );
|
||||
}
|
||||
|
||||
|
||||
if (!wxDir::Exists(configFile.GetPath()))
|
||||
{
|
||||
configFile.RemoveDir( pos );
|
||||
configFile.InsertDir( pos, wxT("crystalsvg") );
|
||||
}
|
||||
|
||||
|
||||
if (!wxDir::Exists(configFile.GetPath()))
|
||||
{
|
||||
configFile.RemoveDir( pos );
|
||||
configFile.InsertDir( pos, wxT("crystal") );
|
||||
}
|
||||
|
||||
|
||||
if (wxDir::Exists(configFile.GetPath()))
|
||||
icondirs.Add( configFile.GetFullPath() );
|
||||
}
|
||||
@@ -1317,14 +1317,14 @@ bool wxFileTypeImpl::GetIcon(wxIconLocation *iconLoc) const
|
||||
i ++;
|
||||
}
|
||||
if ( sTmp.empty () )
|
||||
return FALSE;
|
||||
return false;
|
||||
|
||||
if ( iconLoc )
|
||||
{
|
||||
iconLoc->SetFileName(sTmp);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1334,7 +1334,7 @@ wxFileTypeImpl::GetMimeTypes(wxArrayString& mimeTypes) const
|
||||
mimeTypes.Clear();
|
||||
for (size_t i = 0; i < m_index.GetCount(); i++)
|
||||
mimeTypes.Add(m_manager->m_aTypes[m_index[i]]);
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1414,14 +1414,14 @@ bool wxFileTypeImpl::GetExtensions(wxArrayString& extensions)
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
// set an arbitrary command,
|
||||
// could adjust the code to ask confirmation if it already exists and
|
||||
// overwriteprompt is TRUE, but this is currently ignored as *Associate* has
|
||||
// overwriteprompt is true, but this is currently ignored as *Associate* has
|
||||
// no overwrite prompt
|
||||
bool wxFileTypeImpl::SetCommand(const wxString& cmd, const wxString& verb, bool overwriteprompt /*= TRUE*/)
|
||||
bool wxFileTypeImpl::SetCommand(const wxString& cmd, const wxString& verb, bool overwriteprompt /*= true*/)
|
||||
{
|
||||
wxArrayString strExtensions;
|
||||
wxString strDesc, strIcon;
|
||||
@@ -1431,14 +1431,14 @@ bool wxFileTypeImpl::SetCommand(const wxString& cmd, const wxString& verb, bool
|
||||
|
||||
wxArrayString strTypes;
|
||||
GetMimeTypes (strTypes);
|
||||
if (strTypes.GetCount() < 1) return FALSE;
|
||||
if (strTypes.GetCount() < 1) return false;
|
||||
|
||||
size_t i;
|
||||
bool Ok = TRUE;
|
||||
bool Ok = true;
|
||||
for (i = 0; i < strTypes.GetCount(); i++)
|
||||
{
|
||||
if (!m_manager->DoAssociation (strTypes[i], strIcon, entry, strExtensions, strDesc))
|
||||
Ok = FALSE;
|
||||
Ok = false;
|
||||
}
|
||||
|
||||
return Ok;
|
||||
@@ -1447,7 +1447,7 @@ bool wxFileTypeImpl::SetCommand(const wxString& cmd, const wxString& verb, bool
|
||||
// ignore index on the grouds that we only have one icon in a Unix file
|
||||
bool wxFileTypeImpl::SetDefaultIcon(const wxString& strIcon /*= wxEmptyString*/, int /*index = 0*/)
|
||||
{
|
||||
if (strIcon.empty()) return FALSE;
|
||||
if (strIcon.empty()) return false;
|
||||
wxArrayString strExtensions;
|
||||
wxString strDesc;
|
||||
|
||||
@@ -1455,14 +1455,14 @@ bool wxFileTypeImpl::SetDefaultIcon(const wxString& strIcon /*= wxEmptyString*/,
|
||||
|
||||
wxArrayString strTypes;
|
||||
GetMimeTypes (strTypes);
|
||||
if (strTypes.GetCount() < 1) return FALSE;
|
||||
if (strTypes.GetCount() < 1) return false;
|
||||
|
||||
size_t i;
|
||||
bool Ok = TRUE;
|
||||
bool Ok = true;
|
||||
for (i = 0; i < strTypes.GetCount(); i++)
|
||||
{
|
||||
if (!m_manager->DoAssociation (strTypes[i], strIcon, entry, strExtensions, strDesc))
|
||||
Ok = FALSE;
|
||||
Ok = false;
|
||||
}
|
||||
|
||||
return Ok;
|
||||
@@ -1475,7 +1475,7 @@ bool wxFileTypeImpl::SetDefaultIcon(const wxString& strIcon /*= wxEmptyString*/,
|
||||
|
||||
wxMimeTypesManagerImpl::wxMimeTypesManagerImpl()
|
||||
{
|
||||
m_initialized = FALSE;
|
||||
m_initialized = false;
|
||||
m_mailcapStylesInited = 0;
|
||||
}
|
||||
|
||||
@@ -1484,11 +1484,11 @@ void wxMimeTypesManagerImpl::InitIfNeeded()
|
||||
if ( !m_initialized )
|
||||
{
|
||||
// set the flag first to prevent recursion
|
||||
m_initialized = TRUE;
|
||||
|
||||
m_initialized = true;
|
||||
|
||||
#if 0
|
||||
wxString wm = wxGetenv( wxT("WINDOWMANAGER") );
|
||||
|
||||
|
||||
if (wm.Find( wxT("kde") ) != wxNOT_FOUND)
|
||||
Initialize( wxMAILCAP_KDE|wxMAILCAP_STANDARD );
|
||||
else if (wm.Find( wxT("gnome") ) != wxNOT_FOUND)
|
||||
@@ -1585,7 +1585,7 @@ bool wxMimeTypesManagerImpl::WriteToMimeTypes (int index, bool delete_index)
|
||||
{
|
||||
// check we have the right manager
|
||||
if (! ( m_mailcapStylesInited & wxMAILCAP_STANDARD) )
|
||||
return FALSE;
|
||||
return false;
|
||||
|
||||
bool bTemp;
|
||||
wxString strHome = wxGetenv(wxT("HOME"));
|
||||
@@ -1600,18 +1600,18 @@ bool wxMimeTypesManagerImpl::WriteToMimeTypes (int index, bool delete_index)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (delete_index) return FALSE;
|
||||
if (delete_index) return false;
|
||||
bTemp = file.Create(strUserMailcap);
|
||||
}
|
||||
if (bTemp)
|
||||
{
|
||||
int nIndex;
|
||||
// test for netscape's header and return FALSE if its found
|
||||
// test for netscape's header and return false if its found
|
||||
nIndex = file.pIndexOf (wxT("#--Netscape"));
|
||||
if (nIndex != wxNOT_FOUND)
|
||||
{
|
||||
wxASSERT_MSG(FALSE,wxT("Error in .mime.types \nTrying to mix Netscape and Metamail formats\nFile not modiifed"));
|
||||
return FALSE;
|
||||
wxASSERT_MSG(false,wxT("Error in .mime.types \nTrying to mix Netscape and Metamail formats\nFile not modiifed"));
|
||||
return false;
|
||||
}
|
||||
// write it in alternative format
|
||||
// get rid of unwanted entries
|
||||
@@ -1639,7 +1639,7 @@ bool wxMimeTypesManagerImpl::WriteToNSMimeTypes (int index, bool delete_index)
|
||||
{
|
||||
//check we have the right managers
|
||||
if (! ( m_mailcapStylesInited & wxMAILCAP_NETSCAPE) )
|
||||
return FALSE;
|
||||
return false;
|
||||
|
||||
bool bTemp;
|
||||
wxString strHome = wxGetenv(wxT("HOME"));
|
||||
@@ -1654,7 +1654,7 @@ bool wxMimeTypesManagerImpl::WriteToNSMimeTypes (int index, bool delete_index)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (delete_index) return FALSE;
|
||||
if (delete_index) return false;
|
||||
bTemp = file.Create(strUserMailcap);
|
||||
}
|
||||
if (bTemp)
|
||||
@@ -1663,8 +1663,8 @@ bool wxMimeTypesManagerImpl::WriteToNSMimeTypes (int index, bool delete_index)
|
||||
// write it in the format that Netscape uses
|
||||
int nIndex;
|
||||
// test for netscape's header and insert if required...
|
||||
// this is a comment so use TRUE
|
||||
nIndex = file.pIndexOf (wxT("#--Netscape"), TRUE);
|
||||
// this is a comment so use true
|
||||
nIndex = file.pIndexOf (wxT("#--Netscape"), true);
|
||||
if (nIndex == wxNOT_FOUND)
|
||||
{
|
||||
// either empty file or metamail format
|
||||
@@ -1672,8 +1672,8 @@ bool wxMimeTypesManagerImpl::WriteToNSMimeTypes (int index, bool delete_index)
|
||||
// metamail entreies
|
||||
if (file.GetLineCount () > 0)
|
||||
{
|
||||
wxASSERT_MSG(FALSE, wxT(".mime.types File not in Netscape format\nNo entries written to\n.mime.types or to .mailcap"));
|
||||
return FALSE;
|
||||
wxASSERT_MSG(false, wxT(".mime.types File not in Netscape format\nNo entries written to\n.mime.types or to .mailcap"));
|
||||
return false;
|
||||
}
|
||||
file.InsertLine (wxT( "#--Netscape Communications Corporation MIME Information" ), 0);
|
||||
nIndex = 0;
|
||||
@@ -1708,7 +1708,7 @@ bool wxMimeTypesManagerImpl::WriteToNSMimeTypes (int index, bool delete_index)
|
||||
}
|
||||
}
|
||||
wxString sExts = m_aExtensions.Item(index);
|
||||
sTmp = wxT("exts=\"") + sExts.Trim(FALSE).Trim() + wxT("\"");
|
||||
sTmp = wxT("exts=\"") + sExts.Trim(false).Trim() + wxT("\"");
|
||||
if (!delete_index)
|
||||
{
|
||||
nIndex ++;
|
||||
@@ -1727,7 +1727,7 @@ bool wxMimeTypesManagerImpl::WriteToMailCap (int index, bool delete_index)
|
||||
//check we have the right managers
|
||||
if ( !( ( m_mailcapStylesInited & wxMAILCAP_NETSCAPE) ||
|
||||
( m_mailcapStylesInited & wxMAILCAP_STANDARD) ) )
|
||||
return FALSE;
|
||||
return false;
|
||||
|
||||
bool bTemp;
|
||||
wxString strHome = wxGetenv(wxT("HOME"));
|
||||
@@ -1742,7 +1742,7 @@ bool wxMimeTypesManagerImpl::WriteToMailCap (int index, bool delete_index)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (delete_index) return FALSE;
|
||||
if (delete_index) return false;
|
||||
bTemp = file.Create(strUserMailcap);
|
||||
}
|
||||
if (bTemp)
|
||||
@@ -1804,13 +1804,13 @@ bool wxMimeTypesManagerImpl::WriteToMailCap (int index, bool delete_index)
|
||||
s = sT.GetNextToken();
|
||||
while ( ! s.empty() )
|
||||
{
|
||||
bool bKnownToken = FALSE;
|
||||
if (s.Contains(wxT("description="))) bKnownToken = TRUE;
|
||||
if (s.Contains(wxT("x11-bitmap="))) bKnownToken = TRUE;
|
||||
bool bKnownToken = false;
|
||||
if (s.Contains(wxT("description="))) bKnownToken = true;
|
||||
if (s.Contains(wxT("x11-bitmap="))) bKnownToken = true;
|
||||
size_t i;
|
||||
for (i=0; i < entries->GetCount(); i++)
|
||||
{
|
||||
if (s.Contains(entries->GetVerb(i))) bKnownToken = TRUE;
|
||||
if (s.Contains(entries->GetVerb(i))) bKnownToken = true;
|
||||
}
|
||||
if (!bKnownToken)
|
||||
{
|
||||
@@ -1886,7 +1886,7 @@ wxMimeTypesManagerImpl::Associate(const wxFileTypeInfo& ftInfo)
|
||||
{
|
||||
sExt = sA_Exts.Item(i);
|
||||
//clean up to just a space before and after
|
||||
sExt.Trim().Trim(FALSE);
|
||||
sExt.Trim().Trim(false);
|
||||
sExt = wxT(' ') + sExt + wxT(' ');
|
||||
for (nIndex = 0; nIndex < m_aExtensions.GetCount(); nIndex ++)
|
||||
{
|
||||
@@ -1909,44 +1909,44 @@ bool wxMimeTypesManagerImpl::DoAssociation(const wxString& strType,
|
||||
const wxArrayString& strExtensions,
|
||||
const wxString& strDesc)
|
||||
{
|
||||
int nIndex = AddToMimeData(strType, strIcon, entry, strExtensions, strDesc, TRUE);
|
||||
int nIndex = AddToMimeData(strType, strIcon, entry, strExtensions, strDesc, true);
|
||||
|
||||
if ( nIndex == wxNOT_FOUND )
|
||||
return FALSE;
|
||||
return false;
|
||||
|
||||
return WriteMimeInfo (nIndex, FALSE);
|
||||
return WriteMimeInfo (nIndex, false);
|
||||
}
|
||||
|
||||
bool wxMimeTypesManagerImpl::WriteMimeInfo(int nIndex, bool delete_mime )
|
||||
{
|
||||
bool ok = TRUE;
|
||||
bool ok = true;
|
||||
|
||||
if ( m_mailcapStylesInited & wxMAILCAP_STANDARD )
|
||||
{
|
||||
// write in metamail format;
|
||||
if (WriteToMimeTypes (nIndex, delete_mime) )
|
||||
if ( WriteToMailCap (nIndex, delete_mime) )
|
||||
ok = FALSE;
|
||||
ok = false;
|
||||
}
|
||||
if ( m_mailcapStylesInited & wxMAILCAP_NETSCAPE )
|
||||
{
|
||||
// write in netsacpe format;
|
||||
if (WriteToNSMimeTypes (nIndex, delete_mime) )
|
||||
if ( WriteToMailCap (nIndex, delete_mime) )
|
||||
ok = FALSE;
|
||||
ok = false;
|
||||
}
|
||||
if (m_mailcapStylesInited & wxMAILCAP_GNOME)
|
||||
{
|
||||
// write in Gnome format;
|
||||
if (WriteGnomeMimeFile (nIndex, delete_mime) )
|
||||
if (WriteGnomeKeyFile (nIndex, delete_mime) )
|
||||
ok = FALSE;
|
||||
ok = false;
|
||||
}
|
||||
if (m_mailcapStylesInited & wxMAILCAP_KDE)
|
||||
{
|
||||
// write in KDE format;
|
||||
if (WriteKDEMimeFile (nIndex, delete_mime) )
|
||||
ok = FALSE;
|
||||
ok = false;
|
||||
}
|
||||
|
||||
return ok;
|
||||
@@ -2070,7 +2070,7 @@ wxMimeTypesManagerImpl::GetFileTypeFromExtension(const wxString& ext)
|
||||
while ( tk.HasMoreTokens() )
|
||||
{
|
||||
// consider extensions as not being case-sensitive
|
||||
if ( tk.GetNextToken().IsSameAs(ext, FALSE /* no case */) )
|
||||
if ( tk.GetNextToken().IsSameAs(ext, false /* no case */) )
|
||||
{
|
||||
// found
|
||||
wxFileType *fileType = new wxFileType;
|
||||
@@ -2181,7 +2181,7 @@ void wxMimeTypesManagerImpl::AddMimeTypeInfo(const wxString& strMimeType,
|
||||
wxString sTmp = strExtensions;
|
||||
|
||||
wxArrayString sExts;
|
||||
sTmp.Trim().Trim(FALSE);
|
||||
sTmp.Trim().Trim(false);
|
||||
|
||||
while (!sTmp.empty())
|
||||
{
|
||||
@@ -2189,7 +2189,7 @@ void wxMimeTypesManagerImpl::AddMimeTypeInfo(const wxString& strMimeType,
|
||||
sTmp = sTmp.BeforeLast(wxT(' '));
|
||||
}
|
||||
|
||||
AddToMimeData (strMimeType, strIcon, NULL, sExts, strDesc, TRUE);
|
||||
AddToMimeData (strMimeType, strIcon, NULL, sExts, strDesc, true);
|
||||
}
|
||||
|
||||
void wxMimeTypesManagerImpl::AddMailcapInfo(const wxString& strType,
|
||||
@@ -2208,7 +2208,7 @@ void wxMimeTypesManagerImpl::AddMailcapInfo(const wxString& strType,
|
||||
wxString strIcon;
|
||||
wxArrayString strExtensions;
|
||||
|
||||
AddToMimeData (strType, strIcon, entry, strExtensions, strDesc, TRUE);
|
||||
AddToMimeData (strType, strIcon, entry, strExtensions, strDesc, true);
|
||||
|
||||
}
|
||||
|
||||
@@ -2223,7 +2223,7 @@ bool wxMimeTypesManagerImpl::ReadMimeTypes(const wxString& strFileName)
|
||||
#else
|
||||
if ( !file.Open() )
|
||||
#endif
|
||||
return FALSE;
|
||||
return false;
|
||||
|
||||
// the information we extract
|
||||
wxString strMimeType, strDesc, strExtensions;
|
||||
@@ -2315,7 +2315,7 @@ bool wxMimeTypesManagerImpl::ReadMimeTypes(const wxString& strFileName)
|
||||
// if there is something left, it may be either a '\\' to continue
|
||||
// the line or the next field of the same entry
|
||||
bool entryEnded = *pc == wxT('\0'),
|
||||
nextFieldOnSameLine = FALSE;
|
||||
nextFieldOnSameLine = false;
|
||||
if ( !entryEnded ) {
|
||||
nextFieldOnSameLine = ((*pc != wxT('\\')) || (pc[1] != wxT('\0')));
|
||||
}
|
||||
@@ -2378,7 +2378,7 @@ bool wxMimeTypesManagerImpl::ReadMimeTypes(const wxString& strFileName)
|
||||
pc = NULL;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -2403,7 +2403,7 @@ struct MailcapLineData
|
||||
needsterminal,
|
||||
copiousoutput;
|
||||
|
||||
MailcapLineData() { testfailed = needsterminal = copiousoutput = FALSE; }
|
||||
MailcapLineData() { testfailed = needsterminal = copiousoutput = false; }
|
||||
};
|
||||
|
||||
// process a non-standard (i.e. not the first or second one) mailcap field
|
||||
@@ -2414,7 +2414,7 @@ wxMimeTypesManagerImpl::ProcessOtherMailcapField(MailcapLineData& data,
|
||||
if ( curField.empty() )
|
||||
{
|
||||
// we don't care
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
// is this something of the form foo=bar?
|
||||
@@ -2425,8 +2425,8 @@ wxMimeTypesManagerImpl::ProcessOtherMailcapField(MailcapLineData& data,
|
||||
wxString lhs = curField.BeforeFirst(wxT('=')),
|
||||
rhs = curField.AfterFirst(wxT('='));
|
||||
|
||||
lhs.Trim(TRUE); // from right
|
||||
rhs.Trim(FALSE); // from left
|
||||
lhs.Trim(true); // from right
|
||||
rhs.Trim(false); // from left
|
||||
|
||||
// it might be quoted
|
||||
if ( !rhs.empty() && rhs[0u] == wxT('"') && rhs.Last() == wxT('"') )
|
||||
@@ -2451,7 +2451,7 @@ wxMimeTypesManagerImpl::ProcessOtherMailcapField(MailcapLineData& data,
|
||||
wxT("Test '%s' for mime type '%s' failed, skipping."),
|
||||
rhs.c_str(), data.type.c_str());
|
||||
|
||||
data.testfailed = TRUE;
|
||||
data.testfailed = true;
|
||||
}
|
||||
}
|
||||
else if ( lhs == wxT("desc") )
|
||||
@@ -2477,21 +2477,21 @@ wxMimeTypesManagerImpl::ProcessOtherMailcapField(MailcapLineData& data,
|
||||
// so it must be a simple flag
|
||||
if ( curField == wxT("needsterminal") )
|
||||
{
|
||||
data.needsterminal = TRUE;
|
||||
data.needsterminal = true;
|
||||
}
|
||||
else if ( curField == wxT("copiousoutput"))
|
||||
{
|
||||
// copiousoutput impies that the viewer is a console program
|
||||
data.needsterminal =
|
||||
data.copiousoutput = TRUE;
|
||||
data.copiousoutput = true;
|
||||
}
|
||||
else if ( !IsKnownUnimportantField(curField) )
|
||||
{
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wxMimeTypesManagerImpl::ReadMailcap(const wxString& strFileName,
|
||||
@@ -2506,7 +2506,7 @@ bool wxMimeTypesManagerImpl::ReadMailcap(const wxString& strFileName,
|
||||
#else
|
||||
if ( !file.Open() )
|
||||
#endif
|
||||
return FALSE;
|
||||
return false;
|
||||
|
||||
// indices of MIME types (in m_aTypes) we already found in this file
|
||||
//
|
||||
@@ -2549,7 +2549,7 @@ bool wxMimeTypesManagerImpl::ReadMailcap(const wxString& strFileName,
|
||||
// the flags and field values on the current line
|
||||
MailcapLineData data;
|
||||
|
||||
bool cont = TRUE;
|
||||
bool cont = true;
|
||||
while ( cont )
|
||||
{
|
||||
switch ( *pc )
|
||||
@@ -2563,7 +2563,7 @@ bool wxMimeTypesManagerImpl::ReadMailcap(const wxString& strFileName,
|
||||
if ( nLine == nLineCount - 1 )
|
||||
{
|
||||
// something is wrong, bail out
|
||||
cont = FALSE;
|
||||
cont = false;
|
||||
|
||||
wxLogDebug(wxT("Mailcap file %s, line %lu: '\\' on the end of the last line ignored."),
|
||||
strFileName.c_str(),
|
||||
@@ -2586,13 +2586,13 @@ bool wxMimeTypesManagerImpl::ReadMailcap(const wxString& strFileName,
|
||||
break;
|
||||
|
||||
case wxT('\0'):
|
||||
cont = FALSE; // end of line reached, exit the loop
|
||||
cont = false; // end of line reached, exit the loop
|
||||
|
||||
// fall through to still process this field
|
||||
|
||||
case wxT(';'):
|
||||
// trim whitespaces from both sides
|
||||
curField.Trim(TRUE).Trim(FALSE);
|
||||
curField.Trim(true).Trim(false);
|
||||
|
||||
switch ( currentToken )
|
||||
{
|
||||
@@ -2639,7 +2639,7 @@ bool wxMimeTypesManagerImpl::ReadMailcap(const wxString& strFileName,
|
||||
else if ( data.testfailed )
|
||||
{
|
||||
// skip this entry entirely
|
||||
cont = FALSE;
|
||||
cont = false;
|
||||
}
|
||||
|
||||
// it already has this value
|
||||
@@ -2714,7 +2714,7 @@ bool wxMimeTypesManagerImpl::ReadMailcap(const wxString& strFileName,
|
||||
// the fall back entries have the lowest priority, by definition
|
||||
if ( fallback )
|
||||
{
|
||||
overwrite = FALSE;
|
||||
overwrite = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2747,7 +2747,7 @@ bool wxMimeTypesManagerImpl::ReadMailcap(const wxString& strFileName,
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
size_t wxMimeTypesManagerImpl::EnumAllFileTypes(wxArrayString& mimetypes)
|
||||
@@ -2789,11 +2789,11 @@ bool wxMimeTypesManagerImpl::Unassociate(wxFileType *ft)
|
||||
if ( nIndex == wxNOT_FOUND)
|
||||
{
|
||||
// error if we get here ??
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteMimeInfo(nIndex, TRUE );
|
||||
WriteMimeInfo(nIndex, true );
|
||||
m_aTypes.RemoveAt(nIndex);
|
||||
m_aEntries.RemoveAt(nIndex);
|
||||
m_aExtensions.RemoveAt(nIndex);
|
||||
@@ -2807,7 +2807,7 @@ bool wxMimeTypesManagerImpl::Unassociate(wxFileType *ft)
|
||||
m_aTypes.Count() == m_aIcons.Count() &&
|
||||
m_aTypes.Count() == m_aDescriptions.Count() );
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -2827,10 +2827,10 @@ static bool IsKnownUnimportantField(const wxString& fieldAll)
|
||||
for ( size_t n = 0; n < WXSIZEOF(knownFields); n++ )
|
||||
{
|
||||
if ( field.CmpNoCase(knownFields[n]) == 0 )
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user